customize-gnome
Ansible Роль: customize-gnome
Эта роль настраивает рабочий стол GNOME. Она устанавливает шрифты и расширения GNOME из пакетов или zip-файлов, копирует такие файлы, как фон рабочего стола и настройки оболочки GNOME на хост, и изменяет пользовательские настройки. Настройки могут быть предоставлены в формате dconf или GSettings.
Требования
Необходима коллекция community.general, указанная в requirements.yml
. Установите требования, используя
ansible-galaxy install -r requirements.yml
Кроме того, модуль community.general.dconf
требует модуль Python psutil
. Этот модуль будет установлен автоматически.
Переменные роли
Все переменные, специфичные для этой роли, начинаются с gnome_
. Доступные переменные перечислены ниже:
gnome_user: Пользователь, настройки которого будут изменены. Пример:
gnome_user: root
Если gnome_user
не указан, будет использована переменная ansible_user_id
(пользователь, под которым Ansible подключается к узлу).
gnome_packages: Список пакетов, которые будут установлены. Пример:
gnome_packages:
- fonts-roboto
gnome_fonts: Список шрифтов, которые будут загружены из удаленного источника, распакованы и установлены в локальный каталог шрифтов. Каждый элемент списка состоит из url
, name
и (glob) списка шрифтов в этом zip-файле для установки (fonts
). Пример:
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: Список файлов, указывающий источник (src
) и назначение (dest
), которые будут скопированы с хоста на гостевой сервер. Пример:
gnome_files:
- src: gtk.css
dest: /home/{{ gnome_user }}/.config/gtk-3.0/gtk.css
gnome_extensions: Список расширений оболочки GNOME, которые будут установлены (загружены из удаленного источника и распакованы в локальные расширения пользователей).
Свойства url
и/или name
каждого элемента загружаются динамически из интернета при наличии id
.
gnome_extensions:
- id: 545
Если свойство enable
присутствует и установлено в истинное значение (например, yes
), расширение будет включено автоматически после установки. Пример:
gnome_extensions:
- id: 1112
enable: yes
Вместо указания ID вы также можете указать ключи url
и name
.
Пример:
gnome_extensions:
- url:
"https://extensions.gnome.org/download-extension/[email protected]?version_tag=6450"
name: "[email protected]"
Обратите внимание, что предопределенное значение name
и/или url
не будет переопределено при указании id
.
gnome_gsettings: Список записей gsettings, которые будут установлены для gnome_user
, используя gsettings
. Каждый элемент списка состоит из schema
, key
и value
. Обратите внимание, что значения должны быть заключены как в одинарные, так и в двойные кавычки из-за настроек кавычек Ansible для команд оболочки. Пример:
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
gnome_dconf: Список записей dconf, которые будут установлены для gnome_user
, используя dconf
. Каждый элемент списка состоит из key
и value
. Пример:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gtk_version: Строка версии GTK. Она используется для создания конфигурационного каталога GTK, если он еще не существует. Пример:
gtk_version: "gtk-3.0"
Зависимости
Нет зависимостей.
Пример 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
Этот пример установит глобальные шрифты Roboto, Source Code Pro, расширение оболочки GNOME hidetopbar и изменит несколько настроек для пользователя root
.
Лицензия
GPLv3
Информация об авторе
Изначально создано Петером Мосмансом. Вклад многих других: см. 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/ansible-role-customize-gnome