184 lines
5.8 KiB
YAML
184 lines
5.8 KiB
YAML
---
|
|
# tasks file for fedora_gnome_workstation
|
|
|
|
- name: Ensure GNOME shell extensions are installed
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- gnome-shell-extension-pop-shell
|
|
state: present
|
|
become: true
|
|
|
|
- name: Ensure Python psutil is installed for dconf module
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- python3-psutil
|
|
state: present
|
|
become: true
|
|
|
|
- name: Enable pop-shell extension
|
|
community.general.dconf:
|
|
key: "/org/gnome/shell/enabled-extensions"
|
|
value: "{{ enabled_extensions + ['pop-shell@system76.com'] }}"
|
|
state: present
|
|
vars:
|
|
enabled_extensions: "{{ lookup('pipe', 'gsettings get org.gnome.shell enabled-extensions') | regex_replace(\"^@as |\\[|\\]|'\", '') | split(', ') | select() | list }}"
|
|
become: false
|
|
|
|
- name: Ensure gnome-extensions-app is installed
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- gnome-extensions-app
|
|
state: present
|
|
become: true
|
|
|
|
- name: Create extensions directory
|
|
ansible.builtin.file:
|
|
path: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com"
|
|
state: directory
|
|
mode: "0755"
|
|
become: false
|
|
|
|
- name: Get GNOME Shell version for extension compatibility
|
|
ansible.builtin.shell: gnome-shell --version | grep -oP '\d+\.\d+' | head -1
|
|
register: gnome_shell_version
|
|
changed_when: false
|
|
become: false
|
|
|
|
- name: Download Clipboard Indicator extension metadata
|
|
ansible.builtin.uri:
|
|
url: "https://extensions.gnome.org/extension-info/?pk=779&shell_version={{ gnome_shell_version.stdout }}"
|
|
return_content: true
|
|
register: extension_info
|
|
become: false
|
|
|
|
- name: Download Clipboard Indicator extension
|
|
ansible.builtin.get_url:
|
|
url: "https://extensions.gnome.org{{ extension_info.json.download_url }}"
|
|
dest: "/tmp/clipboard-indicator.zip"
|
|
mode: "0644"
|
|
become: false
|
|
|
|
- name: Extract Clipboard Indicator extension
|
|
ansible.builtin.unarchive:
|
|
src: "/tmp/clipboard-indicator.zip"
|
|
dest: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com/"
|
|
remote_src: true
|
|
become: false
|
|
|
|
- name: Enable Clipboard Indicator extension
|
|
community.general.dconf:
|
|
key: "/org/gnome/shell/enabled-extensions"
|
|
value: "{{ enabled_extensions + ['clipboard-indicator@tudmotu.com'] }}"
|
|
state: present
|
|
vars:
|
|
enabled_extensions: "{{ lookup('pipe', 'gsettings get org.gnome.shell enabled-extensions') | regex_replace(\"^@as |\\[|\\]|'\", '') | split(', ') | select() | list }}"
|
|
become: false
|
|
|
|
- name: Create Dash to Dock extensions directory
|
|
ansible.builtin.file:
|
|
path: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com"
|
|
state: directory
|
|
mode: "0755"
|
|
become: false
|
|
|
|
- name: Download Dash to Dock extension metadata
|
|
ansible.builtin.uri:
|
|
url: "https://extensions.gnome.org/extension-info/?pk=307&shell_version={{ gnome_shell_version.stdout }}"
|
|
return_content: true
|
|
register: dash_to_dock_info
|
|
become: false
|
|
|
|
- name: Download Dash to Dock extension
|
|
ansible.builtin.get_url:
|
|
url: "https://extensions.gnome.org{{ dash_to_dock_info.json.download_url }}"
|
|
dest: "/tmp/dash-to-dock.zip"
|
|
mode: "0644"
|
|
become: false
|
|
|
|
- name: Extract Dash to Dock extension
|
|
ansible.builtin.unarchive:
|
|
src: "/tmp/dash-to-dock.zip"
|
|
dest: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/"
|
|
remote_src: true
|
|
become: false
|
|
|
|
- name: Enable Dash to Dock extension
|
|
community.general.dconf:
|
|
key: "/org/gnome/shell/enabled-extensions"
|
|
value: "{{ enabled_extensions + ['dash-to-dock@micxgx.gmail.com'] }}"
|
|
state: present
|
|
vars:
|
|
enabled_extensions: "{{ lookup('pipe', 'gsettings get org.gnome.shell enabled-extensions') | regex_replace(\"^@as |\\[|\\]|'\", '') | split(', ') | select() | list }}"
|
|
become: false
|
|
|
|
- name: Create OpenBar extensions directory
|
|
ansible.builtin.file:
|
|
path: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/openbar@neuromorph"
|
|
state: directory
|
|
mode: "0755"
|
|
become: false
|
|
|
|
- name: Download OpenBar extension metadata
|
|
ansible.builtin.uri:
|
|
url: "https://extensions.gnome.org/extension-info/?pk=6580&shell_version={{ gnome_shell_version.stdout }}"
|
|
return_content: true
|
|
register: openbar_info
|
|
become: false
|
|
|
|
- name: Download OpenBar extension
|
|
ansible.builtin.get_url:
|
|
url: "https://extensions.gnome.org{{ openbar_info.json.download_url }}"
|
|
dest: "/tmp/openbar.zip"
|
|
mode: "0644"
|
|
become: false
|
|
|
|
- name: Extract OpenBar extension
|
|
ansible.builtin.unarchive:
|
|
src: "/tmp/openbar.zip"
|
|
dest: "{{ ansible_env.HOME }}/.local/share/gnome-shell/extensions/openbar@neuromorph/"
|
|
remote_src: true
|
|
become: false
|
|
|
|
- name: Enable OpenBar extension
|
|
community.general.dconf:
|
|
key: "/org/gnome/shell/enabled-extensions"
|
|
value: "{{ enabled_extensions + ['openbar@neuromorph'] }}"
|
|
state: present
|
|
vars:
|
|
enabled_extensions: "{{ lookup('pipe', 'gsettings get org.gnome.shell enabled-extensions') | regex_replace(\"^@as |\\[|\\]|'\", '') | split(', ') | select() | list }}"
|
|
become: false
|
|
|
|
# - name: Import OpenBar configuration
|
|
# ansible.builtin.copy:
|
|
# src: files/OpenBar.cfg
|
|
# dest: "{{ ansible_env.HOME }}/.config/openbar/OpenBar.cfg"
|
|
# mode: '0644'
|
|
# become: false
|
|
|
|
- name: Ensure flatpak is installed
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- flatpak
|
|
state: present
|
|
become: true
|
|
|
|
- name: Add flathub repository
|
|
community.general.flatpak_remote:
|
|
name: flathub
|
|
state: present
|
|
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
become: true
|
|
|
|
- name: Install flatpak applications from flathub
|
|
community.general.flatpak:
|
|
name:
|
|
- com.mattjakeman.ExtensionManager
|
|
- com.github.tchx84.Flatseal
|
|
- org.gnome.Evolution
|
|
- org.keepassxc.KeePassXC
|
|
- com.belmoussaoui.Authenticator
|
|
- org.gnome.World.Secrets
|
|
state: present
|
|
remote: flathub
|
|
become: true
|