diff --git a/gnome/manifests/init.pp b/gnome/manifests/init.pp index 5437a68..c26871e 100644 --- a/gnome/manifests/init.pp +++ b/gnome/manifests/init.pp @@ -1,3 +1,83 @@ + +# Install support for setting D-Conf default settings +# +class gnome::dconf { + + file { "/etc/dconf/db/site.d": + ensure => directory, + source => "puppet:///modules/custom/empty", + mode => "0755", + owner => "root", + group => "root", + purge => true, + force => true, + recurse => true, + notify => Exec["dconf-update"], + } + + file { "/etc/dconf/profile/user": + ensure => present, + content => "user-db:user\nsystem-db:site\n", + mode => "0644", + owner => "root", + group => "root", + notify => Exec["dconf-update"], + } + + exec { "dconf-update": + command => "dconf update", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + user => "root", + refreshonly => true, + } + +} + + +# Install D-Conf defaults setting file +# +# === Parameters: +# +# $name: +# Settings name +# +# $source: +# File to use as source for settings +# +# === Sample usage: +# +# gnome::dconf::default { "desktop": +# source => "puppet:///files/common/gnome/desktop.conf", +# } +# +define gnome::dconf::default($source) { + + include gnome::dconf + + file { "/etc/dconf/db/site.d/${name}": + ensure => present, + source => $source, + mode => "0644", + owner => "root", + group => "root", + require => File["/etc/dconf/db/site.d"], + notify => Exec["dconf-update"], + } + +} + + +# Install D-Conf editor +# +class gnome::dconf::editor { + + package { "dconf-editor": + ensure => installed, + } + +} + + # Set GNOME gconf values. # # === Parameters @@ -43,3 +123,14 @@ define gnome::gconf($value, $source = "default", $type = "string", $ltype = "") } } + + +# Install GConf editor +# +class gnome::gconf::editor { + + package { "gconf-editor": + ensure => installed, + } + +}