1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
class mpd {
package { 'mpd':
ensure => installed,
}
service { 'mpd':
ensure => running,
enable => true,
hasstatus => false,
pattern => '/usr/bin/mpd',
require => Package['mpd'],
}
file { '/etc/mpd.conf':
ensure => present,
owner => mpd,
group => audio,
mode => 0640,
notify => Service['mpd'],
source => [ "puppet:///modules/site_mpd/$hostname.conf",
"puppet:///modules/mpd/mpd.conf" ],
}
}
class mpd::client {
package { [ 'mpc', 'ncmpc', 'ncmpcpp', 'mpdtoys' ]:
ensure => installed,
}
}
class mpd::all {
include mpd
include mpd::client
user { 'mpd':
ensure => present,
home => '/var/lib/mpd',
shell => '/bin/false',
gid => 'audio',
groups => [ 'pulse', 'pulse-access' ],
}
# Ensure pulseaudio is running systemwide so both mpd and users
# can share audio control.
#
# This could be managed elsewhere.
file { '/etc/default/pulseaudio':
ensure => present,
owner => root,
group => root,
mode => 0644,
notify => Service['mpd'],
source => [ "puppet:///modules/mpd/pulseaudio" ],
}
}
|