Forge Home


A puppet module to manage GNUstep application defaults


9,399 latest version

4.6 quality score

Version information

  • 0.1.1 (latest)
  • 0.1.0
released Jan 5th 2015
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 'buzzdeee-gsdefaults', '0.1.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add buzzdeee-gsdefaults
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install buzzdeee-gsdefaults --version 0.1.1

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.



buzzdeee/gsdefaults — version 0.1.1 Jan 5th 2015


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 gsdefaults
  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


This module doesn't configure a specific service, but manages GNUstep based application and server configurations.

Module Description

This module provides basic management of GNUstep configurations, usually managed via the 'defaults' command. Key/Value pairs can be defined for a given user/domain. Values can be ensured as either 'present', 'absent', or 'keyonly'. The 'keyonly' only ensures the existence of the given key, but doesn't verify its value.


What gsdefaults affects

  • You can manage any key/value pair for any given domain for a specific user.
  • Everything possible as legal value, i.e. an array, dictionary, string or boolean can be passed as value.

Setup Requirements OPTIONAL

The module is a Ruby only module, to make use of it, pluginsync must be enabled. This module is intended to be used by other modules. Those other modules must somehow ensure that gnustep-base 'defaults' command is available.

Beginning with gsdefaults

The very basic steps needed for a user to get the module up and running.

If your most recent release breaks compatibility or requires particular steps for upgrading, you may wish to include an additional section here: Upgrading (For an example, see


Put the classes, types, and resources for customizing, configuring, and doing the fancy stuff with your module here.


The module provides a custom ruby type: 'gsdefaults'.

Example usage:

   gsdefaults { 'a_unique_name_here':
     ensure => 'present',
     user   => 'exampleuser',
     domain => 'NSGlobalDomain',
     key    => 'testkey',
     value  => 'testvalue',



This parameter is optional, valid values are:

  • present (default)
  • makes sure all parameters exist as they should
  • absent
  • keyonly
  • works like present, but only makes sure that the key exists, regardless of the given value


This parameter is optional, valid values are:

  • valid user names
  • default value is 'root'


This parameter is optional, valid values are:

  • a string
  • default value is 'NSGlobalDomain'


This parameter is mandatory, valid values are:

  • a string


This parameter is mandatory, except for ensure => 'absent'

  • any valid value type you can hand over to the GNUstep 'defaults' tool


Tested and known to work on OpenBSD -current with Puppet 3.7.3.


Please help me make this module awesome! Send pull requests and file issues.

Release Notes

Version 0.1.0 (2015-01-05)

  • initial release

Version 0.1.1 (2015-01-05)

  • minimal fixups to please the metadata score