PeterMosmans.customize-gnome
Rola Ansible: customize-gnome
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
Customizes settings for a GNOME desktop, including shell extensions and fonts.
ansible-galaxy install PeterMosmans.customize-gnome