Skip to content

Latest commit

 

History

History
277 lines (163 loc) · 6.83 KB

REFERENCE.md

File metadata and controls

277 lines (163 loc) · 6.83 KB

Reference

Table of Contents

Classes

Public Classes

  • dconf: Manage 'dconf' and associated entries

Private Classes

  • dconf::install: Install the dconf packages

Defined types

  • dconf::profile: Updates a dconf profile entry to /etc/dconf/profile/$name
  • dconf::settings: Add a dconf rule to the profile of your choice This adds a configuration file to the /etc/dconf/db/.d directory. The dconf database

Data types

Classes

dconf

Manage 'dconf' and associated entries

Parameters

The following parameters are available in the dconf class:

user_profile

Data type: Dconf::DBSettings

The contents of the default user profile that will be added

@see data/common.yaml

user_settings

Data type: Optional[Dconf::SettingsHash]

Custom user settings that can be provided via Hiera globally

Default value: undef

package_ensure

Data type: Simplib::PackageEnsure

The version of dconf to install

  • Accepts any valid ensure parameter value for the package resource

Default value: simplib::lookup('simp_options::package_ensure', { 'default_value' => 'installed' })

use_user_profile_defaults

Data type: Boolean

Add the default user_profile settings to the system

Default value: true

user_profile_defaults_name

Data type: String[1]

The name that should be used for the custom dconf::profile in user_profile

Default value: 'Defaults'

user_profile_target

Data type: String[1]

The name of the profile that should be targeted for the defaults

Default value: 'user'

use_user_settings_defaults

Data type: Boolean

Enable creation of custom dconf::settings based on the user_settings Hash

Default value: $use_user_profile_defaults

user_settings_defaults_name

Data type: String[1]

The name that should be used for the custom 'dconf::settings' as well as the target profile for those settings

Default value: $user_profile_defaults_name

tidy

Data type: Boolean

If set to true, any files in the profile directory that aren't managed by puppet will be purged

Default value: true

authselect

Data type: Boolean

Default value: simplib::lookup('simp_options::authselect', { 'default_value' => false })

Defined types

dconf::profile

Updates a dconf profile entry to /etc/dconf/profile/$name

  • See also
    • man
      • 7 dconf

Parameters

The following parameters are available in the dconf::profile defined type:

name

A globally unique name for the entry

entries

Data type: Dconf::DBSettings

One or entries in the following Hash format:

@example Profile Hierarchy Hash 'user': # Name of the database 'type': 'user' # DB Type 'order': 0 # Priority order (optional, defaults to 15)

  • The suggested default hierarchy used by the module data is as follows:
    • User DB => 0
    • SIMP DB => 10
    • System DB => Between 11 and 39
    • Distro DB => 40
target

Data type: String[1]

The target directory within which to create the profile

Default value: $name

base_dir

Data type: Stdlib::AbsolutePath

The base directory that will hold the resulting file

Default value: '/etc/dconf/profile'

dconf::settings

Add a dconf rule to the profile of your choice

This adds a configuration file to the /etc/dconf/db/.d directory. The dconf database is updated when any rule is added. You can also elect to lock a value so that general users cannot change it.

Parameters

The following parameters are available in the dconf::settings defined type:

settings_hash

Data type: Dconf::SettingsHash

A Hash to define the settings to be generated. You can set whether to lock each setting like in the exmaple

@example { 'org/gnome/desktop/media-handling' => { 'automount' => { 'value' => false, 'lock' => false }, 'automount-open' => { 'value' => false } } }

Default value: {}

profile

Data type: Optional[String[1]]

The dconf profile where you want to place the key/value.

Default value: undef

ensure

Data type: Enum['present','absent']

Ensure the entire settings Hash is present or absent

Default value: 'present'

base_dir

Data type: Stdlib::AbsolutePath

The database base directory. This probably shouldn't be changed.

Default value: '/etc/dconf/db'

Data types

Dconf::DBSettings

Valid dconf database settings

Alias of

Hash[String[1], Struct[{
    'type'  => Enum['user', 'system', 'service', 'file'], # The type of database
    'order' => Optional[Integer[1]]                       # The order of the entry in the list
  }]]

Dconf::SettingsHash

Valid individual dconf settings

Alias of

Hash[String[1], Hash[
    String[1],
    Struct[{
      'value' => NotUndef,
      'lock'  => Optional[Boolean]
    }]
  ]]