PeterMosmans.customize-gnome
Ansible Role: personalizar-gnome
Estado de la construcción para este rol:
Este rol personaliza el escritorio GNOME. Instala fuentes y extensiones de GNOME desde paquetes o archivos zip, copia archivos como fondos de escritorio y ajustes de GNOME a un host, y modifica la configuración del usuario. Las configuraciones se pueden proporcionar en formato dconf o GSettings.
Requisitos
La colección community.general, según se especifica en requirements.yml
. Instala los requisitos usando
ansible-galaxy install -r requirements.yml
Además, el módulo community.general.dconf
requiere el módulo de Python psutil
. Este módulo se instalará automáticamente.
Variables del Rol
Todas las variables específicas para este rol comienzan con gnome_
. Las variables disponibles se enumeran a continuación:
gnome_user: El usuario cuyas configuraciones serán modificadas. Ejemplo:
gnome_user: root
Si no se especifica un gnome_user
, se usará la variable ansible_user_id
(el usuario bajo el cual Ansible se conecta al nodo).
gnome_packages: Una lista de paquetes que se instalarán. Ejemplo:
gnome_packages:
- fonts-roboto
gnome_fonts: Una lista de fuentes que se descargarán de una fuente remota, se descomprimirán e instalarán en el directorio local de fuentes. Cada elemento de la lista consiste en un url
, name
, y una lista (glob) de fuentes en ese archivo zip para instalar (fonts
). Ejemplo:
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: Una lista de archivos, especificando la fuente (src
) y el destino (dest
) que se copiarán del anfitrión al invitado. Ejemplo:
gnome_files:
- src: gtk.css
dest: /home/{{ gnome_user }}/.config/gtk-3.0/gtk.css
gnome_extensions: Una lista de extensiones de GNOME shell que se instalarán (descargadas de una fuente remota y descomprimidas en las extensiones locales del usuario).
Las propiedades url
y/o name
de cada elemento se cargan dinámicamente desde la web cuando está presente id
.
gnome_extensions:
- id: 545
Si la propiedad enable
está presente y se establece en un valor verdadero (por ejemplo, yes
), la extensión se habilitará automáticamente después de la instalación. Ejemplo:
gnome_extensions:
- id: 1112
enable: yes
En lugar de especificar el ID, también puedes forzar las claves url
y name
. Ejemplo:
gnome_extensions:
- url:
"https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450"
name: "[email protected]"
Ten en cuenta que un valor de name
y/o url
predefinido no será sobrescrito al especificar el id
.
gnome_gsettings: Una lista de entradas de gsettings que se establecerán para el gnome_user
, usando gsettings
. Cada elemento de la lista consiste en una entrada schema
, key
y value
. Ten en cuenta que los valores deben estar contenidos dentro de comillas simples Y dobles, debido a la configuración de comillas de Ansible para los comandos shell. Ejemplo:
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
gnome_dconf: Una lista de entradas dconf que se establecerán para el gnome_user
, usando dconf
. Cada elemento de la lista consiste en una entrada key
y value
. Ejemplo:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gtk_version: La cadena de versión de GTK. Esto se usa para crear un directorio de configuración de GTK, si no existe ya. Ejemplo:
gtk_version: "gtk-3.0"
Dependencias
Ninguna.
Ejemplo de 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
Este ejemplo instalará las fuentes globales Roboto, Source Code Pro, la extensión del shell de GNOME hidetopbar y modifica varias configuraciones para el usuario root
.
Licencia
GPLv3
Información del Autor
Creado inicialmente por Peter Mosmans. Contribuciones de muchos otros: ver 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