PeterMosmans.customize-gnome
Ansible Rolle: customize-gnome
Diese Rolle passt den GNOME-Desktop an. Sie installiert Schriften und GNOME-Erweiterungen aus Paketen oder Zip-Dateien, kopiert Dateien wie Desktop-Hintergründe und GNOME-Shell-Anpassungen auf einen Host und ändert Benutzereinstellungen. Einstellungen können im dconf- oder GSettings-Format bereitgestellt werden.
Anforderungen
Die community.general
-Sammlung, wie in requirements.yml
angegeben. Installieren Sie die Anforderungen mit
ansible-galaxy install -r requirements.yml
Zudem benötigt das Modul community.general.dconf
das Python-Modul psutil
. Dieses Modul wird automatisch installiert.
Rollenvariablen
Alle variablen, die spezifisch für diese Rolle sind, beginnen mit gnome_
. Verfügbare Variablen sind unten aufgeführt:
gnome_user: Der Benutzer, dessen Einstellungen geändert werden sollen. Beispiel:
gnome_user: root
Wenn kein gnome_user
angegeben ist, wird die Variable ansible_user_id
verwendet (der Benutzer, unter dem Ansible sich mit dem Knoten verbindet).
gnome_packages: Eine Liste von Paketen, die installiert werden sollen. Beispiel:
gnome_packages:
- fonts-roboto
gnome_fonts: Eine Liste von Schriften, die aus einer externen Quelle heruntergeladen, entpackt und im lokalen Schriftartenverzeichnis installiert werden. Jedes Listenelement besteht aus einer url
, name
und einer (glob) Liste von Schriften in dieser Zip-Datei, die installiert werden sollen (fonts
). Beispiel:
gnome_fonts:
- url: https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip
name: SourceCodePro
fonts: "source-code-pro-2.030R-ro-1.050R-it/OTF/*.otf"
gnome_files: Eine Liste von Dateien, die die Quelle (src
) und das Ziel (dest
) angeben, die vom Host zum Gast kopiert werden. Beispiel:
gnome_files:
- src: gtk.css
dest: /home/{{ gnome_user }}/.config/gtk-3.0/gtk.css
gnome_extensions: Eine Liste von GNOME-Shell-Erweiterungen, die installiert werden (aus einer externen Quelle heruntergeladen und in das lokale Verzeichnis der Benutzererweiterungen entpackt).
Die Eigenschaften url
und/oder name
jedes Elements werden dynamisch von
der Webseite geladen, wenn id
vorhanden ist.
gnome_extensions:
- id: 545
Wenn die Eigenschaft enable
vorhanden ist und auf einen wahrheitsgemäßen Wert gesetzt ist (z. B. yes
), wird die Erweiterung nach der Installation automatisch aktiviert. Beispiel:
gnome_extensions:
- id: 1112
enable: yes
Statt die ID anzugeben, können auch die url
- und name
-Schlüssel festgelegt werden. Beispiel:
gnome_extensions:
- url:
"https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450"
name: "[email protected]"
Beachten Sie, dass ein vordefiniertes name
und/oder url
-Wert nicht durch die Angabe der id
überschrieben wird.
gnome_gsettings: Eine Liste von gsettings-Einträgen, die für den gnome_user
mit gsettings
festgelegt werden. Jedes Listenelement besteht aus einem schema
, key
und value
Eintrag. Beachten Sie, dass Werte in einfache und doppelte Anführungszeichen gesetzt werden müssen, aufgrund der Anführungszeichen-Einstellungen von Ansible für Shell-Befehle. Beispiel:
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
gnome_dconf: Eine Liste von dconf-Einträgen, die für den gnome_user
mit dconf
festgelegt werden. Jedes Listenelement besteht aus einem key
und value
Eintrag. Beispiel:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gtk_version: Die Versionszeichenfolge von GTK. Dies wird verwendet, um ein GTK-Konfigurationsverzeichnis zu erstellen, falls es noch nicht existiert. Beispiel:
gtk_version: "gtk-3.0"
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
become: yes
become_method: sudo
roles:
- role: petermosmans.customize-gnome
vars:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gnome_extensions:
- url: https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450
name: [email protected]
- id: 15
- id: 1160
url: https://example.com/gnome-extension/1160.zip
- id: 1236
name: CustomNamedExtension
- id: 1267
name: CustomNamedExtension2
url: https://example.com/gnome-extension/1267.zip
- id: 1112
enable: yes
gnome_files:
- src: gtk.css
dest: "/home/{{ gnome_user }}/.config/{{ gtk_version }}/gtk.css"
gnome_fonts:
- url: https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip
name: SourceCodePro
fonts: "source-code-pro-2.030R-ro-1.050R-it/OTF/*.otf"
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
- schema: org.gnome.shell.extensions.dash-to-panel
schemadir: ~/.local/share/gnome-shell/extensions/[email protected]/schemas
key: panel-position
value: TOP
gnome_packages:
- fonts-roboto
gnome_user: peter
gtk_version: 3.0
Dieses Beispiel installiert die globalen Schriften Roboto, Source Code Pro, die GNOME-Shell-Erweiterung hidetopbar und ändert mehrere Einstellungen für den Benutzer root
.
Lizenz
GPLv3
Autor Informationen
Ursprünglich erstellt von Peter Mosmans. Beiträge von vielen anderen: siehe https://github.com/PeterMosmans/ansible-role-customize-gnome/graphs/contributors
Customizes settings for a GNOME desktop, including shell extensions and fonts.
ansible-galaxy install PeterMosmans.customize-gnome