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