- Description
- Setup - The basics of getting started with dconf
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This module will install dconf and allow you to manage GNOME desktop environment via Puppet.
- dconf package
- dconf profiles under
/etc/dconf/profile/
- dconf db files under
/etc/dconf/db/
- dconf db lock files under
/etc/dconf/db/YOUR_PROFILE/locks/
See module dependencies for more details.
For basic use of this module, first make sure the module is installed on your puppet-server, then add the following to your manifest:
include dconf
On its own, this will simply install the dconf packages for your distro.
Include usage examples for common use cases in the Usage section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.
dconf::profile { 'user':
entries => {
'user' => {
'type' => 'user',
'order' => 10,
},
'local' => {
'type' => 'system',
'order' => 21,
},
'site' => {
'type' => 'system',
'order' => 22,
},
},
}
Will result in the following profile at /etc/dconf/profile/user
user-db:user
system-db:local
system-db:site
dconf::db { 'local':
settings => {
'system/proxy/http' => {
'host' => '172.16.0.1',
'enabled' => 'true',
},
locks => [
'/system/proxy/http/host',
'/system/proxy/http/enabled',
],
Will result in the following dconf database structure:
/etc/dconf/
|-- db
| |-- local
| `-- local.d
| |-- 00-default
| `-- locks
| `-- 00-default
[system/proxy/http]
host = '172.16.0.1'
enabled = true
/system/proxy/http/enabled
/system/proxy/http/host
This module can also be configured entirely using hiera. To configure the above with hiera, use the following snippet:
dconf::profiles:
'user':
entries:
'user':
type: 'user'
order: 10
'local':
type: 'system'
order: 21
'site':
type: 'system'
order 22
dconf::dbs:
'local':
settings:
'system/proxy/http':
'host': "'172.16.0.1'"
'enabled': 'true'
locks:
- '/system/proxy/http/host'
- '/system/proxy/http/enabled'
Note that some dconf values must be double quoted to ensure the resulting dconf ini keyfile contains the correct data.
To remove dconf profiles and databases, you can use the ensure
parameter.
dconf::profile { 'user':
ensure => 'absent',
}
dconf::db { 'local':
ensure => 'absent',
}
dconf::profiles:
'user':
ensure: 'absent'
dconf::dbs:
'local':
ensure: 'absent'
Ensuring the absence of a dconf database will cause the db file, db directory, and associated locks to all be removed. If you just want to remove the locks you can supply an empty array for the resource:
dconf::dbs:
'local':
locks: []
No known limitations
When contributing, please check your code conforms to the Puppet language style guide: https://www.puppet.com/docs/puppet/latest/style_guide.html