Remove GNOME extension management from workstation setup
Some checks failed
Ansible Lint Check / check-ansible (push) Successful in 4s
Nix Format Check / check-format (push) Successful in 1m13s
Python Lint Check / check-python (push) Failing after 7s

This commit is contained in:
2025-09-23 14:09:30 +00:00
parent 29a439d095
commit 5ff84a4c0d
8 changed files with 7 additions and 132 deletions

View File

@@ -1,16 +1,13 @@
# Setup # Setup
This dotfiles is intended to be used with either Fedora 40>, Ubuntu 20.04> or Arch Linux. This dotfiles is intended to be used with either Fedora 40>, Ubuntu 20.04> or Arch Linux.
Please install a clean version of either distro with GNOME and then follow the steps below. Please install a clean version of either distro and then follow the steps below.
## Installation ## Installation
### 0. Install distro ### 0. Install distro
Download the latest ISO from your desired distro and write it to a USB stick. Download the latest ISO from your desired distro and write it to a USB stick.
I'd recommend getting the GNOME version as it's easier to setup unless you're planning on setting up a server, in that case I recommend getting the server ISO for the specific distro.
#### Note: If you intend on using a desktop environment you should select the GNOME version as this dotfiles repository expects the GNOME desktop environment for various configurations
### 1. Clone dotfiles to home directory ### 1. Clone dotfiles to home directory
@@ -71,6 +68,7 @@ If you add a new system you should add the relevant files to these paths.
In case you reboot a server, it's likely that this runs JuiceFS. In case you reboot a server, it's likely that this runs JuiceFS.
To be sure that every service is properly accessing JuiceFS mounted files you should probably restart the services once when the server comes online. To be sure that every service is properly accessing JuiceFS mounted files you should probably restart the services once when the server comes online.
```bash ```bash
dotf service stop --all dotf service stop --all
df # confirm JuiceFS is mounted df # confirm JuiceFS is mounted
@@ -81,16 +79,19 @@ dotf service start --all
In case you need to adjust anything regarding the /mnt/object_storage JuiceFS. In case you need to adjust anything regarding the /mnt/object_storage JuiceFS.
Ensure to shut down all services: Ensure to shut down all services:
```bash ```bash
dotf service stop --all dotf service stop --all
``` ```
Unmount the volume: Unmount the volume:
```bash ```bash
sudo systemctl stop juicefs sudo systemctl stop juicefs
``` ```
And optionally if you're going to do something with metadata you might need to stop redis too. And optionally if you're going to do something with metadata you might need to stop redis too.
```bash ```bash
cd ~/services/juicefs-redis/ cd ~/services/juicefs-redis/
docker compose down --remove-orphans docker compose down --remove-orphans
@@ -103,6 +104,7 @@ To add a new system you should follow these steps:
1. Add the relevant files shown in the section above. 1. Add the relevant files shown in the section above.
2. Ensure you've either updated or added the `$HOME/.hostname` file with the hostname of the system. 2. Ensure you've either updated or added the `$HOME/.hostname` file with the hostname of the system.
3. Run `dotf update` to ensure the symlinks are properly updated/created. 3. Run `dotf update` to ensure the symlinks are properly updated/created.
--- ---
## Using 1Password SSH Agent with WSL2 (Windows 11) ## Using 1Password SSH Agent with WSL2 (Windows 11)
@@ -132,5 +134,6 @@ This setup allows you to use your 1Password-managed SSH keys inside WSL2. The WS
- If your 1Password keys are listed, the setup is complete. - If your 1Password keys are listed, the setup is complete.
#### References #### References
- [Using 1Password's SSH Agent with WSL2](https://dev.to/d4vsanchez/use-1password-ssh-agent-in-wsl-2j6m) - [Using 1Password's SSH Agent with WSL2](https://dev.to/d4vsanchez/use-1password-ssh-agent-in-wsl-2j6m)
- [How to change the PATH environment variable in Windows](https://www.wikihow.com/Change-the-PATH-Environment-Variable-on-Windows) - [How to change the PATH environment variable in Windows](https://www.wikihow.com/Change-the-PATH-Environment-Variable-on-Windows)

View File

@@ -31,11 +31,6 @@
- name: Define system desired Flatpaks - name: Define system desired Flatpaks
ansible.builtin.set_fact: ansible.builtin.set_fact:
desired_system_flatpaks: desired_system_flatpaks:
# GNOME Software
- "{{ 'org.gnome.Extensions' if (ansible_facts.env.XDG_CURRENT_DESKTOP is defined and 'GNOME' in ansible_facts.env.XDG_CURRENT_DESKTOP) else omit }}"
- "{{ 'org.gnome.Weather' if (ansible_facts.env.XDG_CURRENT_DESKTOP is defined and 'GNOME' in ansible_facts.env.XDG_CURRENT_DESKTOP) else omit }}"
- "{{ 'org.gnome.Sudoku' if (ansible_facts.env.XDG_CURRENT_DESKTOP is defined and 'GNOME' in ansible_facts.env.XDG_CURRENT_DESKTOP) else omit }}"
# Games # Games
- io.github.openhv.OpenHV - io.github.openhv.OpenHV
- info.beyondallreason.bar - info.beyondallreason.bar
@@ -53,10 +48,6 @@
- org.signal.Signal - org.signal.Signal
- com.spotify.Client - com.spotify.Client
# Nextcloud Compatible Utilities
- io.github.mrvladus.List
- org.gnome.World.Iotas
# 3D Printing # 3D Printing
- com.bambulab.BambuStudio - com.bambulab.BambuStudio
- io.mango3d.LycheeSlicer - io.mango3d.LycheeSlicer

View File

@@ -1,18 +0,0 @@
---
- name: Install Pano - Clipboard Manager dependencies
ansible.builtin.apt:
name:
- gir1.2-gda-5.0
- gir1.2-gsound-1.0
state: present
update_cache: true
become: true
- name: Install Pano - Clipboard Manager
ansible.builtin.import_tasks: tasks/workstations/gnome-extensions/pano.yml
- name: Install Tiling Shell - Window Manager
ansible.builtin.import_tasks: tasks/workstations/gnome-extensions/tilingshell.yml
- name: Install Quick Settings Tweaks
ansible.builtin.import_tasks: tasks/workstations/gnome-extensions/quick-settings.yml

View File

@@ -1,73 +0,0 @@
---
- name: Manage GNOME extension
vars:
requested_git_tag: "{{ git_tag }}"
extension_name: "{{ ext_name }}"
extension_url: "{{ ext_url }}"
extension_path: "{{ ansible_user_dir }}/.local/share/gnome-shell/extensions/{{ ext_id }}"
version_file: "{{ extension_path }}/version.txt"
block:
- name: Check if extension is installed
ansible.builtin.stat:
path: "{{ extension_path }}"
register: ext_check
- name: Read last installed version
ansible.builtin.slurp:
src: "{{ version_file }}"
register: installed_version
ignore_errors: true
when: ext_check.stat.exists
- name: Determine if update is needed
ansible.builtin.set_fact:
update_needed: >-
{{ installed_version.content is not defined or
(installed_version.content | b64decode | trim != requested_git_tag) }}
- name: Delete old extension if updating
ansible.builtin.file:
path: "{{ extension_path }}"
state: absent
when: update_needed
- name: Create directory for extension
ansible.builtin.file:
path: "{{ extension_path }}"
state: directory
mode: "0755"
when: not ext_check.stat.exists or update_needed
- name: Download extension
ansible.builtin.get_url:
url: "{{ extension_url | replace('%TAG%', requested_git_tag) }}"
dest: "{{ extension_path }}/release.zip"
mode: "0644"
when: update_needed or not ext_check.stat.exists
- name: Extract extension
ansible.builtin.unarchive:
src: "{{ extension_path }}/release.zip"
dest: "{{ extension_path }}"
when: update_needed or not ext_check.stat.exists
- name: Store installed version of the extension
ansible.builtin.copy:
content: "{{ requested_git_tag }}"
dest: "{{ version_file }}"
mode: "0644"
when: update_needed or not ext_check.stat.exists
- name: Cleanup post installation
ansible.builtin.file:
path: "{{ extension_path }}/release.zip"
state: absent
when: not ext_check.stat.exists or update_needed
- name: Notify user of required GNOME Shell reload
ansible.builtin.debug:
msg: >
Please reload GNOME Shell by pressing Alt + F2, typing 'r' and pressing Enter.
Then enable the {{ extension_name }} in GNOME Tweaks.
Or on Wayland, log out and back in.
when: not ext_check.stat.exists or update_needed

View File

@@ -1,8 +0,0 @@
---
- name: Manage Pano Clipboard Manager
ansible.builtin.include_tasks: tasks/workstations/gnome-extensions/manage_gnome_extension.yml
vars:
git_tag: "v23-alpha5"
ext_name: "Pano - Clipboard Manager"
ext_url: "https://github.com/oae/gnome-shell-pano/releases/download/%TAG%/pano@elhan.io.zip"
ext_id: "pano@elhan.io"

View File

@@ -1,8 +0,0 @@
---
- name: Manage Quick Settings Tweaks
ansible.builtin.include_tasks: tasks/workstations/gnome-extensions/manage_gnome_extension.yml
vars:
git_tag: "2.1-stable"
ext_name: "Quick Settings Tweaks"
ext_url: "https://github.com/qwreey/quick-settings-tweaks/releases/download/2.1-stable/2.1-release.zip"
ext_id: "quick-settings-tweaks@qwreey"

View File

@@ -1,8 +0,0 @@
---
- name: Manage Tiling Shell - Window Manager
ansible.builtin.include_tasks: tasks/workstations/gnome-extensions/manage_gnome_extension.yml
vars:
git_tag: "16.3"
ext_name: "Tiling Shell - Window Manager"
ext_url: "https://github.com/domferr/tilingshell/releases/download/%TAG%/tilingshell@ferrarodomenico.com.zip"
ext_id: "tilingshell@ferrarodomenico.com"

View File

@@ -8,10 +8,6 @@
ansible.builtin.import_tasks: tasks/workstations/cliphist.yml ansible.builtin.import_tasks: tasks/workstations/cliphist.yml
when: "'microsoft-standard-WSL2' not in ansible_kernel" when: "'microsoft-standard-WSL2' not in ansible_kernel"
- name: Include GNOME Extensions tasks
ansible.builtin.import_tasks: tasks/workstations/gnome-extensions.yml
when: ansible_facts.env.XDG_CURRENT_DESKTOP is defined and 'GNOME' in ansible_facts.env.XDG_CURRENT_DESKTOP and 'microsoft-standard-WSL2' not in ansible_kernel
- name: Include Firefox APT installation tasks - name: Include Firefox APT installation tasks
ansible.builtin.import_tasks: tasks/workstations/firefox-apt.yml ansible.builtin.import_tasks: tasks/workstations/firefox-apt.yml
when: ansible_pkg_mgr == 'apt' and ansible_facts.packages.snapd is defined and 'microsoft-standard-WSL2' not in ansible_kernel when: ansible_pkg_mgr == 'apt' and ansible_facts.packages.snapd is defined and 'microsoft-standard-WSL2' not in ansible_kernel