refactor: add zsync and Zen browser tasks, update default applications and configurations
Some checks failed
Nix Format Check / check-format (push) Failing after 1m6s
Some checks failed
Nix Format Check / check-format (push) Failing after 1m6s
This commit is contained in:
@@ -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
|
||||
|
38
config/ansible/tasks/global/zsync.yml
Normal file
38
config/ansible/tasks/global/zsync.yml
Normal 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
|
@@ -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:
|
||||
|
60
config/ansible/tasks/workstations/snaps.yml
Normal file
60
config/ansible/tasks/workstations/snaps.yml
Normal 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"
|
101
config/ansible/tasks/workstations/ulauncher.yml
Normal file
101
config/ansible/tasks/workstations/ulauncher.yml
Normal 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
|
@@ -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:
|
||||
|
14
config/ansible/tasks/workstations/zen-browser.yml
Normal file
14
config/ansible/tasks/workstations/zen-browser.yml
Normal 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
|
Reference in New Issue
Block a user