Skip to content
This repository has been archived by the owner on Jun 22, 2024. It is now read-only.

Latest commit

 

History

History
72 lines (58 loc) · 2.16 KB

README.md

File metadata and controls

72 lines (58 loc) · 2.16 KB

ansible-gsetting

Ansible module for setting GSettings entries.

See also ansible-dconf.

Installation

curl https://raw.githubusercontent.com/jistr/ansible-gsetting/master/gsetting.py > ~/ansible_dir/library/gsetting

Usage examples

# Embed the schema in the key
- name: turn off hot corners
  gsetting:
    user: jistr
    key: org.gnome.desktop.interface.enable-hot-corners
    value: "{{'false'|string}}"
    
# Specify the schema separately
- name: turn off hot corners
  gsetting:
    user: jistr
    schema: org.gnome.desktop.interface
    key: enable-hot-corners
    value: "{{'false'|string}}"

# Use a relocatable schema
- name: set custom key binding
  gsetting:
    user: jistr
    schema: org.gnome.settings-daemon.plugins.media-keys.custom-keybinding
    path: /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/
    settings:
      name: Flameshot
      binding: Print
      command: flameshot gui

- name: do not remember mount password
  gsetting:
    user: jistr
    settings:
      org.gnome.shell.remember-mount-password: false
      org.gnome.desktop.wm.keybindings.panel-main-menu: "@as []"
      org.gnome.nautilus.preferences.default-folder-viewer: "'list-view'"

If you want to run Ansible as the user you want to adjust settings for, you should omit the user parameter:

- name: shortcut panel-main-menu
  gsetting:
    settings:
      org.gnome.desktop.wm.keybindings.panel-main-menu: "@as []"

Be careful with string values, which should be passed into GSetting single-quoted. You'll need to quote the value twice in YAML:

- name: nautilus use list view
  gsetting:
    user: jistr
    settings:
      org.gnome.nautilus.preferences.default-folder-viewer: "'list-view'"

- name: nautilus list view columns
  gsetting:
    user: jistr
    settings:
      org.gnome.nautilus.list-view.default-visible-columns: "['name', 'size', 'date_modified', 'permissions', 'owner', 'group']"