Puppet Class: lightdm

Inherits:
lightdm::params
Defined in:
manifests/init.pp

Overview

Class lightdm

Puppet module for installing and managing lightdm

Parameters


  • ‘config`

Hash of config to apply in /etc/lightdm/lightdm.conf. See below for example.

  • ‘config_users`

Hash of config to apply in /etc/lightdm/users.conf See below for example.

  • ‘greeter`

Which greeter to install and configure as the default.

  • ‘make_default`

Should lightdm be made the default display-manager?

  • ‘service_manage`

Should we restart lightdm service on config file changes?

Examples


Authors


Brad Cowie <brad@wand.net.nz>

Copyright


Copyright 2016 Brad Cowie, unless otherwise noted.

Examples:

class { 'lightdm':
  config => {
    'Seat:*' => {
      'greeter-show-manual-login': 'true'
    }
  },
  config_users => {
    'UserList' => {
      'minimum-uid': '50'
    }
  },
  make_default => true
}

Parameters:

  • config_file (Any) (defaults to: $lightdm::params::config_file)
  • config_users_file (Any) (defaults to: $lightdm::params::config_users_file)
  • config (Any) (defaults to: $lightdm::params::config)
  • config_users (Any) (defaults to: $lightdm::params::config_users)
  • greeter (Any) (defaults to: $lightdm::params::greeter)
  • make_default (Any) (defaults to: $lightdm::params::make_default)
  • package_ensure (Any) (defaults to: $lightdm::params::package_ensure)
  • package_name (Any) (defaults to: $lightdm::params::package_name)
  • package_provider (Any) (defaults to: $lightdm::params::package_provider)
  • service_ensure (Any) (defaults to: $lightdm::params::service_ensure)
  • service_manage (Any) (defaults to: $lightdm::params::service_manage)
  • service_name (Any) (defaults to: $lightdm::params::service_name)
  • service_provider (Any) (defaults to: $lightdm::params::service_provider)


54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'manifests/init.pp', line 54

class lightdm (
  $config_file       = $lightdm::params::config_file,
  $config_users_file = $lightdm::params::config_users_file,
  $config            = $lightdm::params::config,
  $config_users      = $lightdm::params::config_users,
  $greeter           = $lightdm::params::greeter,
  $make_default      = $lightdm::params::make_default,
  $package_ensure    = $lightdm::params::package_ensure,
  $package_name      = $lightdm::params::package_name,
  $package_provider  = $lightdm::params::package_provider,
  $service_ensure    = $lightdm::params::service_ensure,
  $service_manage    = $lightdm::params::service_manage,
  $service_name      = $lightdm::params::service_name,
  $service_provider  = $lightdm::params::service_provider,

) inherits lightdm::params {

  validate_absolute_path($config_file)
  validate_absolute_path($config_users_file)
  validate_hash($config)
  validate_hash($config_users)
  validate_string($greeter)
  validate_bool($make_default)
  validate_string($package_ensure)
  validate_string($package_name)
  validate_string($package_provider)
  validate_string($service_ensure)
  validate_bool($service_manage)
  validate_string($service_name)
  validate_string($service_provider)

  # Merge greeter choice into main config
  if $greeter {
    $greeter_config = {
      'Seat:*'        => {
        'greeter-session' => $greeter
      }
    }
    $_config = deep_merge($greeter_config, $config)
  } else {
    $_config = $config
  }

  include '::lightdm::install'
  include '::lightdm::config'
  include '::lightdm::service'

  # Anchor this as per #8040 - this ensures that classes won't float off and
  # mess everything up.  You can read about this at:
  # http://docs.puppetlabs.com/puppet/2.7/reference/lang_containment.html#known-issues
  anchor { 'lightdm::begin': }
  anchor { 'lightdm::end': }

  Anchor['lightdm::begin'] -> Class['::lightdm::install']
    -> Class['::lightdm::config'] ~> Class['::lightdm::service']
    -> Anchor['lightdm::end']

}