Puppet Class: systemd::logind

Defined in:
manifests/logind.pp

Summary

This class manages systemd's login manager configuration.

Overview



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
# File 'manifests/logind.pp', line 4

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,
    }
  }
}