Forge Home

desktop

Customization for a linux desktop

8,952 downloads

7,009 latest version

4.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

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:

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'jza34-desktop', '0.3.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add jza34-desktop
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install jza34-desktop --version 0.3.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

jza34/desktop — version 0.3.2 Jun 16th 2016

Desktop

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

Overview

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)

Setup

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   => 'https://duckduckgo.com',
  webbrowser\_cachesize  => 4096,
  google\_key\_source    => 'https://dl-ssl.google.com/linux/linux\_signing\_key.pub',
  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)

software

This array list all the extra software you want to install

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

(Default undef)

auto_upgrade

Automatic download and install of upgrades at shutdown.

(Default true)

webbrowser_homepage

Homepage for web browsers.

(Default https://duckduckgo.com)

webbrowser_cachesize

Set the cache size in bytes.

(Default 4096)

google_key_source

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

(Default https://dl-ssl.google.com/linux/linux\_signing_key.pub)

webbrowser

This array list web browsers you want to use

Possible values: iceweasel, firefox and google-chrome

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

Usage

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

Reference

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

Limitations

Debian family only

Development

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.