PeterMosmans.customize-gnome

Rola Ansible: customize-gnome

Status budowy tej roli: Status budowy

Ta rola dostosowuje pulpit GNOME. Instalacja czcionek i rozszerzeń GNOME z pakietów lub plików zip, kopiowanie plików, takich jak tła pulpitu i zmiany GNOME shell, na hosta oraz modyfikacja ustawień użytkownika. Ustawienia mogą być podawane w formacie dconf lub GSettings.

Wymagania

Kolekcja community.general, określona w requirements.yml. Zainstaluj wymagania używając

ansible-galaxy install -r requirements.yml

Ponadto, moduł community.general.dconf wymaga modułu Python psutil. Moduł ten zainstaluje się automatycznie.

Zmienne roli

Wszystkie zmienne specyficzne dla tej roli zaczynają się od gnome_. Dostępne zmienne są wymienione poniżej:

gnome_user: Użytkownik, którego ustawienia zostaną zmodyfikowane. Przykład:

gnome_user: root

Jeśli nie podano gnome_user, zostanie użyta zmienna ansible_user_id (użytkownik, pod którym Ansible łączy się z węzłem).

gnome_packages: Lista pakietów, które będą instalowane. Przykład:

gnome_packages:
  - fonts-roboto

gnome_fonts: Lista czcionek, które będą pobierane z zdalnego źródła, rozpakowywane i instalowane do lokalnego katalogu czcionek. Każdy element listy składa się z url, name i (glob) listy czcionek w tym pliku zip do zainstalowania (fonts). Przykład:

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: Lista plików, określająca źródło (src) i miejsce docelowe (dest), które będą kopiowane z hosta do gościa. Przykład:

gnome_files:
  - src: gtk.css
    dest: /home/{{ gnome_user }}/.config/gtk-3.0/gtk.css

gnome_extensions: Lista rozszerzeń GNOME shell, które będą instalowane (pobierane z zdalnego źródła i rozpakowywane do lokalnych rozszerzeń użytkowników).

Właściwości url i/lub name każdego elementu są ładowane dynamicznie z sieci gdy id jest obecny.

gnome_extensions:
  - id: 545

Jeśli właściwość enable jest obecna i ustawiona na wartość prawdziwą (np. tak), rozszerzenie zostanie automatycznie włączone po instalacji. Przykład:

gnome_extensions:
  - id: 1112
    enable: yes

Zamiast podawać ID, można również wymusić klucze url i name. Przykład:

gnome_extensions:
  - url:
    "https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450"
    name: "[email protected]"

Zauważ, że wcześniej zdefiniowana wartość name i/lub url nie zostanie nadpisana przez podanie id.

gnome_gsettings: Lista wpisów gsettings, które zostaną ustawione dla gnome_user, używając gsettings. Każdy element listy składa się z schema, key i value. Zauważ, że wartości powinny być otoczone pojedynczymi cudzysłowami I podwójnymi cudzysłowami, z powodu ustawień cytowania Ansible dla poleceń shell. Przykład:

gnome_gsettings:
  - schema: org.gnome.desktop.interface
    key: monospace-font-name
    value: '"Source Code Pro Medium 16"'

gnome_dconf: Lista wpisów dconf, które zostaną ustawione dla gnome_user, używając dconf. Każdy element listy składa się z key i value. Przykład:

gnome_dconf:
  - key: /org/gnome/desktop/background/show-desktop-icons
    value: "false"

gtk_version: Ciąg wersji GTK. Używany do tworzenia katalogu konfiguracyjnego GTK, jeśli jeszcze nie istnieje. Przykład:

gtk_version: "gtk-3.0"

Zależności

Brak.

Przykładowy 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

Ten przykład zainstaluje globalne czcionki Roboto, Source Code Pro, rozszerzenie GNOME shell hidetopbar i zmodyfikuje kilka ustawień dla użytkownika root.

Licencja

GPLv3

Informacje o autorze

Początkowo stworzona przez Petera Mosmansa. Wkład wielu innych osób: zobacz https://github.com/PeterMosmans/ansible-role-customize-gnome/graphs/contributors

O projekcie

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

Zainstaluj
ansible-galaxy install PeterMosmans.customize-gnome
Licencja
gpl-3.0
Pobrania
5.8k
Właściciel
Lead pentester, security consultant, trainer