PeterMosmans.customize-gnome
Ansible角色:自定义GNOME
这个角色用于自定义GNOME桌面。它会从软件包或压缩文件中安装字体和GNOME扩展,复制文件(如桌面背景和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
和该zip文件中要安装的字体的(guid)列表(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:将为gnome_user
设置的gsettings条目列表,使用gsettings
。每个列表项包含一个schema
、key
和value
项。请注意,由于Ansible对shell命令的引用设置,值应包含单引号和双引号。示例:
gnome_gsettings:
- schema: org.gnome.desktop.interface
key: monospace-font-name
value: '"Source Code Pro Medium 16"'
gnome_dconf:将为gnome_user
设置的dconf条目列表,使用dconf
。每个列表项包含一个key
和value
项。示例:
gnome_dconf:
- key: /org/gnome/desktop/background/show-desktop-icons
value: "false"
gtk_version:GTK的版本字符串。如果GTK配置目录不存在,将用于创建该目录。示例:
gtk_version: "gtk-3.0"
依赖
无。
示例剧本
- 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.customize-gnome