Customization for a linux desktop

Sebastien Lamy



6,067 latest version

4.5 quality score

Version information

  • 0.3.2 (latest)
  • 0.3.1
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
released Jun 16th 2016
This version is compatible with:
  • Debian

Start using this module


jza34/desktop — version 0.3.2 Jun 16th 2016


Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with desktop
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


Some customization welcome for a linux desktop. Do not install any graphical environment!

Module Description

  • Enhance use of fonts
  • Set automatic upgrades when the system shutdown
  • Manage installation and customization for web browsers (iceweasel, firefox and google-chrome for the moment)


List of parameters to set in init.pp

Include the class

class { 'desktop':
  font\_serif            => 'Cantarell',
  font\_sans             => 'Liberation Sans',
  font\_mono             => 'Droid Sans Mono',
  software               => undef,
  auto\_upgrade          => true,
  webbrowser\_homepage   => '',
  webbrowser\_cachesize  => 4096,
  google\_key\_source    => '\_signing\',
  webbrowser             => ['iceweasel','google-chrome'],

font_serif, font_sans, font_mono

Three names of fonts to use instead of fonts like liberation, arial, times, etc.

Put your font files in files/fonts-common and puppet will copy them to the node

(Default Cantarell, Liberation Sans, Droid Sans Mono)


This array list all the extra software you want to install

Example: ['blender','scribus','vlc']

(Default undef)


Automatic download and install of upgrades at shutdown.

(Default true)


Homepage for web browsers.



Set the cache size in bytes.

(Default 4096)


Google-chrome is not part of official linux distributions repositories... It uses its own repo. The signing key to verify downloaded packages from this repo is also hosted by Google but can be downloaded and hosted localy.

This parameter set the url of the google repo signing key



This array list web browsers you want to use

Possible values: iceweasel, firefox and google-chrome

(Default ['iceweasel','google-chrome'])


Modify default values in init.pp (or use an ENC like foreman) and include the desktop class


Customization for web browser (firefox/iceweasel) use the root preferences file in /etc/firefox/pref/firefox.js (or /etc/iceweasel/pref/iceweasel.js)

Customization for web browser (google-chrome) use the policies file in in /etc/opt/chrome/policies/managed/policy.json


Debian family only


Tested localy then saved to github then published to the puppet forge

Don't upgrade from the forge in a production environment...always test it in your situation.