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
Лицензия
gpl-3.0
Загрузки
5650
Владелец
Lead pentester, security consultant, trainer