Files

173 lines
5.6 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: Copy OpenBar configuration file to temporary location
ansible.builtin.copy:
src: files/OpenBar.cfg
dest: "/tmp/OpenBar.cfg"
mode: "0644"
become: false
- name: Import OpenBar configuration using dconf
ansible.builtin.shell: dconf load /org/gnome/shell/extensions/openbar/ < /tmp/OpenBar.cfg
become: false
changed_when: true
- name: Install flatpak applications from flathub
community.general.flatpak:
name:
- com.mattjakeman.ExtensionManager
- org.gnome.Evolution
- com.belmoussaoui.Authenticator
- org.gnome.World.Secrets
state: present
remote: flathub
become: true