Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
USAGE: local_user{"ohad": uid => 1234, gid => 1234, comment => "Ohad Levy", sudo => true, } define local_user ($comment, $ensure = 'present', $uid, $gid, $homedir = '', $groups = '', $group = '', $shell = "/bin/bash", $sudo=false ) { case $homedir { '': { $home="/home/${name}" } default: { $home=$homedir } } user { $name: allowdupe => false, comment => $comment, ensure => $ensure, gid => $gid, home => $home, shell => $shell, uid => $uid, groups => $groups ? { '' => undef, default => $groups } } case $group { '': { group { $name: allowdupe => false, ensure => $ensure, gid => $gid, } $real_group = $name } default: { $real_group = $group } } file { "$home": ensure => directory, # keep 0751 to enable public_html acces and similar things mode => 0701, owner => $name, group => $real_group; "$home/.toprc": source => ["$fileserver/users/.toprc.$name", "$fileserver/users/.toprc"], mode => 0640, owner => $name, group => $real_group; "$home/.bashrc": source => ["$fileserver/users/.bashrc.$name", "$fileserver/users/.bashrc"], mode => 0640, owner => $name, group => $real_group; "$home/.bash_profile": ensure => link, target => "$home/.bashrc"; "$home/.ssh": ensure => directory, mode => 0700, owner => $name, group => $real_group; "$home/.ssh/authorized_keys": source => ["$fileserver/users/.ssh/authorized_keys.$name", "$fileserver/users/.ssh/authorized_keys"], mode => 0600, owner => $name, group => $real_group; "$home/.ssh/config": source => ["$fileserver/users/.ssh/config.$name", "$fileserver/users/.ssh/config"], mode => 0600, owner => $name, group => $real_group; "$home/.vimrc": source => ["$fileserver/users/.vimrc.$name", "$fileserver/users/.vimrc"], mode => 0600, owner => $name, group => $real_group; } if $sudo { sudo::nopasswd{$name: name => $name} } }
This paste will be private.
From the Design Piracy series on my blog: