diff --git a/xdg/manifests/init.pp b/xdg/manifests/init.pp new file mode 100644 index 0000000..5528178 --- /dev/null +++ b/xdg/manifests/init.pp @@ -0,0 +1,26 @@ +# Edit xdg autostart settings. +# +# === Parameters +# +# $name: +# Service name. +# $enable: +# Whether to start service, true or false. +# +define xdg::autostart($enable) { + + exec { "xdg-autostart-set-${name}": + path => "/bin:/usr/bin:/sbin:/usr/sbin", + cwd => "/etc/xdg/autostart", + command => "echo 'X-GNOME-Autostart-enabled=${enable}' >> ${name}.desktop", + unless => "grep -q 'X-GNOME-Autostart-enabled' ${name}.desktop", + before => Exec["xdg-autostart-sub-${name}"], + } + exec { "xdg-autostart-sub-${name}": + path => "/bin:/usr/bin:/sbin:/usr/sbin", + cwd => "/etc/xdg/autostart", + command => "ruby -pi -e 'sub(/^(X-GNOME-Autostart-enabled).*/, \"\\\1=${enable}\")' ${name}.desktop", + unless => "grep -q 'X-GNOME-Autostart-enabled=${enable}' ${name}.desktop", + } + +}