refactor: add zsync and Zen browser tasks, update default applications and configurations
Some checks failed
Nix Format Check / check-format (push) Failing after 1m6s

This commit is contained in:
2025-03-03 14:49:15 +01:00
parent a47b6ea2f2
commit c8944e8ed6
16 changed files with 267 additions and 211 deletions

View File

@@ -36,3 +36,6 @@
- name: Include pipx tasks
ansible.builtin.import_tasks: tasks/global/pipx.yml
- name: Include zsync tasks
ansible.builtin.import_tasks: tasks/global/zsync.yml

View File

@@ -0,0 +1,38 @@
- name: Check if zsync is installed
ansible.builtin.command: zsync -V
register: zsync_installed
ignore_errors: true
- name: Install zsync from source
ansible.builtin.get_url:
url: http://zsync.moria.org.uk/download/zsync-0.6.2.tar.bz2
dest: /tmp/zsync-0.6.2.tar.bz2
mode: '0644'
when: zsync_installed.rc != 0
- name: Extract zsync source
ansible.builtin.unarchive:
src: /tmp/zsync-0.6.2.tar.bz2
dest: /tmp
remote_src: false
creates: /tmp/zsync-0.6.2
when: zsync_installed.rc != 0
- name: Install zsync from source (./configure)
ansible.builtin.command: ./configure
args:
chdir: /tmp/zsync-0.6.2
when: zsync_installed.rc != 0
- name: Install zsync from source (make)
ansible.builtin.command: make
args:
chdir: /tmp/zsync-0.6.2
when: zsync_installed.rc != 0
- name: Install zsync from source (sudo make install)
ansible.builtin.command: make install
args:
chdir: /tmp/zsync-0.6.2
become: true
when: zsync_installed.rc != 0

View File

@@ -29,13 +29,10 @@
ansible.builtin.set_fact:
desired_system_flatpaks:
- org.fkoehler.KTailctl
- org.mozilla.Thunderbird
- com.spotify.Client
- org.gnome.Extensions
- com.endlessnetwork.aqueducts
- com.tomjwatson.Emote
- io.github.openhv.OpenHV
- net.wz2100.wz2100
- com.github.k4zmu2a.spacecadetpinball
- com.usebottles.bottles
- io.github.shiftey.Desktop
@@ -51,10 +48,8 @@
- info.beyondallreason.bar
- io.gitlab.adhami3310.Impression
- org.prismlauncher.PrismLauncher
- com.logseq.Logseq
- io.ente.auth
- org.signal.Signal
- com.mardojai.ForgeSparks
- io.github.fastrizwaan.WineZGUI
- net.davidotek.pupgui2
- tv.plex.PlexDesktop
@@ -73,7 +68,6 @@
- io.bassi.Amberol
- org.gaphor.Gaphor
- io.github.seadve.Mousai
- app.zen_browser.zen
- name: Define system desired Flatpak remotes
ansible.builtin.set_fact:

View File

@@ -0,0 +1,60 @@
- name: Ensure snapd is installed
ansible.builtin.package:
name: snapd
state: present
become: true
- name: Ensure snapd service is enabled and started
ansible.builtin.systemd:
name: snapd
state: started
enabled: true
become: true
- name: Get list of installed Snaps
ansible.builtin.command: snap list
register: installed_snaps
changed_when: false
- name: Define protected system snaps
ansible.builtin.set_fact:
system_snaps:
- snapd
- core
- core18
- core20
- core22
- bare
- gtk-common-themes
- gnome-3-28-1804
- gnome-3-34-1804
- gnome-3-38-2004
- name: Define desired Snaps
ansible.builtin.set_fact:
desired_snaps:
- name: bitwarden
classic: false
- name: bw
classic: false
- name: Install desired Snap packages
ansible.builtin.command: "snap install {{ item.name }} {{ '--classic' if item.classic else '' }}"
loop: "{{ desired_snaps }}"
become: true
register: snap_install
changed_when: "'already installed' not in snap_install.stderr"
failed_when:
- snap_install.rc != 0
- "'already installed' not in snap_install.stderr"
- name: Remove undesired Snap packages
ansible.builtin.command: "snap remove {{ item }}"
become: true
loop: "{{ installed_snaps.stdout_lines[1:] | map('split', ' ') | map('first') | difference(desired_snaps | map(attribute='name')) | difference(system_snaps) }}"
register: snap_remove
changed_when: snap_remove.rc == 0
failed_when:
- snap_remove.rc != 0
- "'not installed' not in snap_remove.stderr"
- "'cannot remove' not in snap_remove.stderr"

View File

@@ -0,0 +1,101 @@
- name: Ensure Ulauncher and dependencies are installed
ansible.builtin.package:
name:
- ulauncher
- python3-pytz
- python3-tornado
- python3-docker
- python3-requests
- python3-pint
- python3-simpleeval
- python3-parsedatetime
- python3-fuzzywuzzy
# - python3-thefuzz
state: present
become: true
- name: Ensure Ulauncher config directory exists
ansible.builtin.file:
path: "~/.config/ulauncher"
state: directory
mode: '0755'
- name: Configure Ulauncher settings
ansible.builtin.copy:
content: "{{ ulauncher_settings | to_json }}"
dest: "~/.config/ulauncher/settings.json"
mode: '0644'
vars:
ulauncher_settings:
blacklisted-desktop-dirs: "/usr/share/locale:/usr/share/app-install:/usr/share/kservices5:/usr/share/fk5:/usr/share/kservicetypes5:/usr/share/applications/screensavers:/usr/share/kde4:/usr/share/mimelnk"
clear-previous-query: true
disable-desktop-filters: false
grab-mouse-pointer: false
hotkey-show-app: "<Control>Space"
render-on-screen: "mouse-pointer-monitor"
show-indicator-icon: true
show-recent-apps: "4"
terminal-command: "ptyxis"
theme-name: "dark"
- name: Configure Ulauncher shortcuts
ansible.builtin.copy:
content: "{{ ulauncher_shortcuts | to_json }}"
dest: "~/.config/ulauncher/shortcuts.json"
mode: '0644'
vars:
ulauncher_shortcuts:
"0bab9d26-5464-4501-bc95-9995d8fa1405":
id: "0bab9d26-5464-4501-bc95-9995d8fa1405"
name: "Google Search"
keyword: "g"
cmd: "https://google.com/search?q=%s"
icon: "/usr/share/ulauncher/media/google-search-icon.png"
is_default_search: true
run_without_argument: false
added: 0
"d72834d1-5d81-4f5d-a9f6-386b12110f56":
id: "d72834d1-5d81-4f5d-a9f6-386b12110f56"
name: "Stack Overflow"
keyword: "so"
cmd: "https://stackoverflow.com/search?q=%s"
icon: "/usr/share/ulauncher/media/stackoverflow-icon.svg"
is_default_search: true
run_without_argument: false
added: 0
"4dfcffeb-879c-49b2-83bb-c16254a7ce75":
id: "4dfcffeb-879c-49b2-83bb-c16254a7ce75"
name: "GoLink"
keyword: "go"
cmd: "http://go/%s"
icon: null
is_default_search: false
run_without_argument: false
added: 0
"40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1":
id: "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1"
name: "NixOS"
keyword: "nix"
cmd: "https://search.nixos.org/packages?query=%s"
icon: null
is_default_search: false
run_without_argument: false
added: 0
"40d1ed32-8fd3-4ff4-92f6-fbaa7cd607a1":
id: "42d1ed42-8dd3-2bf8-92f5-cbaa7cd607a1"
name: "Flathub"
keyword: "flat"
cmd: "https://flathub.org/apps/search?q=%s"
icon: null
is_default_search: false
run_without_argument: false
added: 0
"43d1ed32-8fd3-fbf8-94f5-cffa7cd607a1":
id: "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1"
name: "GitHub"
keyword: "gh"
cmd: "https://github.com/search?q=%s"
icon: null
is_default_search: false
run_without_argument: false
added: 0

View File

@@ -4,6 +4,9 @@
- name: Include flatpaks tasks
ansible.builtin.import_tasks: tasks/workstations/flatpaks.yml
- name: Include snaps tasks
ansible.builtin.import_tasks: tasks/workstations/snaps.yml
- name: Include VSCode tasks
ansible.builtin.import_tasks: tasks/workstations/vscode.yml
become: true
@@ -12,30 +15,16 @@
ansible.builtin.import_tasks: tasks/workstations/brave.yml
become: true
- name: Include Zen browser tasks
ansible.builtin.import_tasks: tasks/workstations/zen-browser.yml
- name: Include Ulauncher tasks
ansible.builtin.import_tasks: tasks/workstations/ulauncher.yml
- name: Include 1Password tasks
ansible.builtin.import_tasks: tasks/workstations/1password.yml
become: true
- name: Check if distro is Fedora (Workstation)
ansible.builtin.command: cat /etc/os-release
register: os_release
changed_when: false
failed_when: false
- name: Ensure desktop environment is installed
# dnf install switchdesk switchdesk-gui
# and
# dnf install @deepin-desktop-environment
# are required for Deepin Desktop Environment
ansible.builtin.package:
name:
- switchdesk
- switchdesk-gui
- "@deepin-desktop-environment"
state: present
when: os_release.stdout.find('Fedora Linux') != -1
become: true
- name: Ensure common packages are installed
ansible.builtin.package:
name:

View File

@@ -0,0 +1,14 @@
- name: Check if Zen browser is installed
stat:
path: ~/.local/share/AppImage/ZenBrowser.AppImage
register: zen_browser_installed
- name: Install Zen browser
ansible.builtin.command: >
echo "1" | bash <(curl https://updates.zen-browser.app/appimage.sh)
when: not zen_browser_installed.stat.exists
- name: Update Zen browser
ansible.builtin.command: >
echo "3" | bash <(curl https://updates.zen-browser.app/appimage.sh)
when: zen_browser_installed.stat.exists