Dconf variables

dconf est une sorte de système de “registre” très léger où sont stockées quelques informations de configuration utilisateur dans gnome, comme son fond d’écran, par exemple. Nous allons créer un module qui va permettre de configurer des variables dconf.

define dconf::set($value,$user,$group) {
        include dconf

        exec { "dconf set $name to $value for user $user and group $group":
                environment => "XDG_RUNTIME_DIR=/run/user/$user",
                command => "/bin/sh -c 'eval `dbus-launch --auto-syntax`'\" && dconf write $name \\\"$value\\\"\"",
                path => "/usr/bin",
                onlyif => "/bin/sh -c 'eval `dbus-launch --auto-syntax`'\" && test \\\"$value\\\" != \\\"`dconf read $name`\\\"\"",
                logoutput => "true",
                require => Package["dconf-tools"],
                user => $user,
                group => $group,
        }
}

Ce module prend 4 paramètres:

  • Le chemin de la clef
  • Sa valeur
  • L’utilisateur qu’on souhaite modifier
  • Le groupe qu’on souhaite modifier

Afin d’utiliser cette fonction, il suffit de l’appeler dans une classe existante:

class custom-background {
        dconf::set {'/org/gnome/desktop/background/picture-uri':
                value => "'file:///usr/share/images/desktop-base/IOGS-bg.jpg'",
                user => 'myuser',
                group => 'mygroup',
        }

C’est tout Source initialeSources modifiées