PeterMosmans.customize-gnome

Ansible Rolle: customize-gnome

Build-Status für diese Rolle: Build Status

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

Über das Projekt

Customizes settings for a GNOME desktop, including shell extensions and fonts.

Installieren
ansible-galaxy install PeterMosmans.customize-gnome
Lizenz
gpl-3.0
Downloads
5.8k
Besitzer
Lead pentester, security consultant, trainer