Per-user manifests live in modules/people/manifests/$login.pp
, where
$login
is a GitHub login. A simple user manifest example:
class people::jbarnette {
include emacs # requires emacs module in Puppetfile
include sparrow # requires sparrow module in Puppetfile
$home = "/Users/${::luser}"
$my = "${home}/my"
$dotfiles = "${my}/dotfiles"
repository { $dotfiles:
source => 'jbarnette/dotfiles',
require => File[$my]
}
}
Note that if your GitHub username contains dashes, you should replace them by underscores in both the manifest name and the class name.
While you can include projects one by one, sometimes you might just want all of them. You can do that easily with:
include projects::all