File: logind.pp

package info (click to toggle)
puppet-module-camptocamp-systemd 2.12.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 680 kB
  • sloc: ruby: 1,094; sh: 10; makefile: 4
file content (40 lines) | stat: -rw-r--r-- 914 bytes parent folder | download
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,
    }
  }
}