class supybot { class { 'supervisor': } package { [ 'supybot', 'python-twisted', 'darcs' ]: ensure => present, } group { "supybot": ensure => present, allowdupe => false, } user { "supybot": ensure => present, allowdupe => false, shell => '/bin/bash', gid => 'supybot', home => '/var/lib/supybot', require => Group['supybot'], } file { '/var/lib/supybot': ensure => directory, owner => 'supybot', group => 'supybot', mode => '0750', require => User['supybot'], } supervisor::app { 'supybot': source => [ 'puppet:///modules/site_supybot/conf.d/supybot.conf', 'puppet:///modules/supybot/conf.d/supybot.conf' ], } file { '/etc/logrotate.d/supybot': ensure => present, owner => 'root', group => 'root', mode => '0644', source => 'puppet:///modules/supybot/logrotate.d/supybot', } }