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
|
# @api private
#
# This class manages systemd's login manager configuration.
#
# https://www.freedesktop.org/software/systemd/man/logind.conf.html
class systemd::logind {
assert_private()
service { 'systemd-logind':
ensure => running,
}
$systemd::logind_settings.each |$option, $value| {
ini_setting {
$option:
path => '/etc/systemd/logind.conf',
section => 'Login',
setting => $option,
notify => Service['systemd-logind'],
}
if $value =~ Hash {
Ini_setting[$option] {
* => $value,
}
} elsif $value =~ Array {
Ini_setting[$option] {
value => join($value, ' '),
}
} else {
Ini_setting[$option] {
value => $value,
}
}
}
$systemd::loginctl_users.each |$loginctl_name, $loginctl_settings| {
loginctl_user { $loginctl_name:
* => $loginctl_settings,
}
}
}
|