refactor: update dotfiles paths and remove obsolete configurations
Some checks failed
Nix Format Check / check-format (push) Failing after 40s

This commit is contained in:
2025-03-05 17:26:48 +01:00
parent 498b28fac0
commit 2ce4cfb608
51 changed files with 255 additions and 1406 deletions

View File

@ -10,11 +10,11 @@
force: true
follow: false
loop:
- { src: "~/dotfiles/config/home-manager", dest: "~/.config/home-manager" }
- { src: "~/dotfiles/vscode/settings.json", dest: "~/.config/Code/User/settings.json" }
- { src: "~/dotfiles/config/ssh/config", dest: "~/.ssh/config" }
- { src: "~/dotfiles/config/ssh/config.d", dest: "~/.ssh/config.d" }
- { src: "~/dotfiles/config/starship.toml", dest: "~/.config/starship.toml" }
- { src: "$DOTFILES_PATH/config/home-manager", dest: "~/.config/home-manager" }
- { src: "$DOTFILES_PATH/vscode/settings.json", dest: "~/.config/Code/User/settings.json" }
- { src: "$DOTFILES_PATH/config/ssh/config", dest: "~/.ssh/config" }
- { src: "$DOTFILES_PATH/config/ssh/config.d", dest: "~/.ssh/config.d" }
- { src: "$DOTFILES_PATH/config/starship.toml", dest: "~/.config/starship.toml" }
- name: Create gitconfig symlink
ansible.builtin.file:
@ -25,11 +25,11 @@
follow: false
vars:
gitconfig_mapping:
mennos-desktop: "~/dotfiles/config/git/gitconfig.linux"
mennos-laptop: "~/dotfiles/config/git/gitconfig.linux"
mennos-server: "~/dotfiles/config/git/gitconfig.mennos-server"
mennos-vm: "~/dotfiles/config/git/gitconfig.mennos-server"
mennos-hobbypc: "~/dotfiles/config/git/gitconfig.linux"
mennos-desktop: "$DOTFILES_PATH/config/git/gitconfig.linux"
mennos-laptop: "$DOTFILES_PATH/config/git/gitconfig.linux"
mennos-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
mennos-vm: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
mennos-hobbypc: "$DOTFILES_PATH/config/git/gitconfig.linux"
- name: Create SSH authorized_keys symlink
ansible.builtin.file:
@ -40,8 +40,8 @@
follow: false
vars:
authorized_keys_mapping:
mennos-desktop: "~/dotfiles/config/ssh/authorized_keys/mennos-desktop"
mennos-laptop: "~/dotfiles/config/ssh/authorized_keys/mennos-laptop"
mennos-server: "~/dotfiles/config/ssh/authorized_keys/mennos-server"
mennos-vm: "~/dotfiles/config/ssh/authorized_keys/mennos-server"
mennos-hobbypc: "~/dotfiles/config/ssh/authorized_keys/mennos-hobbypc"
mennos-desktop: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-desktop"
mennos-laptop: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-laptop"
mennos-server: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
mennos-vm: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
mennos-hobbypc: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-hobbypc"

View File

@ -1,19 +1,13 @@
- name: Ensure Tailscale is installed
ansible.builtin.package:
name: tailscale
state: present
become: true
- name: Check if Tailscale is installed
ansible.builtin.command: tailscale
ansible.builtin.command: which tailscale
register: tailscale_check
changed_when: false
failed_when: false
- name: Install Tailscale
ansible.builtin.command: tailscale up
- name: Install Tailscale using curl script
ansible.builtin.shell: curl -fsSL https://tailscale.com/install.sh | sh
args:
creates: /var/lib/tailscale/tailscaled.state
creates: /usr/bin/tailscale
when: tailscale_check.rc != 0
become: true

View File

@ -0,0 +1,40 @@
- name: Check if 1Password is installed
ansible.builtin.command: 1password --version
register: onepassword_check
changed_when: false
failed_when: false
- name: Check if 1Password is running anywhere
ansible.builtin.command: pgrep 1password
register: onepassword_running
changed_when: false
failed_when: false
- name: Kill any running 1Password instances
ansible.builtin.command: pkill 1password
when: onepassword_running.stdout != ""
changed_when: onepassword_running.stdout != ""
- name: Ensure 1Password custom allowed browsers directory exists
ansible.builtin.file:
path: /etc/1password
state: directory
mode: '0755'
become: true
- name: Add Zen browser to 1Password custom allowed browsers
ansible.builtin.copy:
content: |
ZenBrowser
zen-browser
app.zen_browser.zen
zen
dest: /etc/1password/custom_allowed_browsers
owner: root
group: root
mode: '0755'
become: true
- name: If 1Password was running, restart it
ansible.builtin.command: screen -dmS 1password 1password
when: onepassword_running.stdout != ""

View File

@ -1,43 +0,0 @@
- name: Import 1Password GPG key (RPM)
ansible.builtin.rpm_key:
key: https://downloads.1password.com/linux/keys/1password.asc
state: present
when: ansible_pkg_mgr == "yum" or ansible_pkg_mgr == "dnf"
- name: Import 1Password GPG key (APT)
ansible.builtin.apt_key:
url: https://downloads.1password.com/linux/keys/1password.asc
state: present
when: ansible_pkg_mgr == "apt"
- name: Add 1Password repository (RPM)
ansible.builtin.copy:
content: |
[1password]
name=1Password Stable Channel
baseurl=https://downloads.1password.com/linux/rpm/stable/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.1password.com/linux/keys/1password.asc
dest: /etc/yum.repos.d/1password.repo
mode: '0644'
when: ansible_pkg_mgr == "yum" or ansible_pkg_mgr == "dnf"
- name: Add 1Password repository (APT)
ansible.builtin.apt_repository:
repo: deb [arch=amd64] https://downloads.1password.com/linux/debian stable main
state: present
when: ansible_pkg_mgr == "apt"
- name: Install 1Password CLI (RPM)
ansible.builtin.package:
name: 1password-cli
state: present
when: ansible_pkg_mgr == "yum" or ansible_pkg_mgr == "dnf"
- name: Install 1Password CLI (APT)
ansible.builtin.package:
name: 1password-cli
state: present
when: ansible_pkg_mgr == "apt"

View File

@ -1,18 +0,0 @@
- name: Check if Brave is installed
ansible.builtin.command: brave-browser --version
register: brave_check
changed_when: false
failed_when: false
- name: Download Brave Browser install script
ansible.builtin.get_url:
url: https://dl.brave.com/install.sh
dest: /tmp/install_brave.sh
mode: '0755'
when: brave_check.rc != 0
- name: Install Brave Browser
ansible.builtin.command: bash -c 'set -o pipefail && /tmp/install_brave.sh -y'
when: brave_check.rc != 0
args:
creates: /usr/bin/brave-browser

View File

@ -1,3 +1,16 @@
- name: Check if Flatpak is installed
ansible.builtin.command: which flatpak
register: flatpak_check
changed_when: false
failed_when: false
- name: Install Flatpak
ansible.builtin.package:
name: flatpak
state: present
become: true
when: flatpak_check.rc != 0
- name: Add Flathub remote repository
community.general.flatpak_remote:
name: flathub
@ -14,42 +27,22 @@
register: system_remotes
changed_when: false
- name: Get list of user installed Flatpaks
ansible.builtin.command: flatpak list --user --app --columns=application
register: installed_user_flatpaks
changed_when: false
- name: Get list of user remotes
ansible.builtin.command: flatpak remote-list --user --columns=name
register: user_remotes
changed_when: false
- name: Define system desired Flatpaks
ansible.builtin.set_fact:
desired_system_flatpaks:
- org.fkoehler.KTailctl
- com.spotify.Client
- org.gnome.Extensions
- com.tomjwatson.Emote
- io.github.openhv.OpenHV
- com.github.k4zmu2a.spacecadetpinball
- com.usebottles.bottles
- io.github.shiftey.Desktop
- org.fedoraproject.MediaWriter
- com.github.tchx84.Flatseal
- de.haeckerfelix.Shortwave
- io.github.thetumultuousunicornofdarkness.cpu-x
- org.gnome.Crosswords
- com.github.wwmm.easyeffects
- dev.bragefuglseth.Keypunch
- org.onlyoffice.desktopeditors
- com.jeffser.Alpaca
- info.beyondallreason.bar
- io.gitlab.adhami3310.Impression
- org.prismlauncher.PrismLauncher
- io.ente.auth
- org.signal.Signal
- io.github.fastrizwaan.WineZGUI
- net.davidotek.pupgui2
- tv.plex.PlexDesktop
@ -63,35 +56,17 @@
- page.tesk.Refine
- io.github.flattool.Ignition
- io.github.bytezz.IPLookup
- com.github.marhkb.Pods
- io.github.giantpinkrobots.varia
- io.bassi.Amberol
- org.gaphor.Gaphor
- io.github.seadve.Mousai
- info.beyondallreason.bar
- com.jeffser.Alpaca
- name: Define system desired Flatpak remotes
ansible.builtin.set_fact:
desired_system_flatpak_remotes:
- flathub
- fedora
- name: Define user desired Flatpaks
ansible.builtin.set_fact:
desired_user_flatpaks:
- com.discordapp.Discord
- io.github.moonlight_mod.moonlight-installer
- name: Define user desired Flatpak remotes
ansible.builtin.set_fact:
desired_user_flatpak_remotes:
- flathub
- name: Add desired user Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: present
method: user
loop: "{{ desired_user_flatpak_remotes }}"
- name: Add desired system Flatpak remotes
community.general.flatpak_remote:
@ -100,13 +75,6 @@
method: system
loop: "{{ desired_system_flatpak_remotes }}"
- name: Remove undesired user Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: absent
method: user
loop: "{{ user_remotes.stdout_lines | difference(desired_user_flatpak_remotes) }}"
- name: Remove undesired system Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
@ -114,13 +82,6 @@
method: system
loop: "{{ system_remotes.stdout_lines | difference(desired_system_flatpak_remotes) }}"
- name: Install desired user Flatpaks
community.general.flatpak:
name: "{{ item }}"
state: present
method: user
loop: "{{ desired_user_flatpaks }}"
- name: Install/Upgrade Flatpak packages
community.general.flatpak:
name: "{{ item }}"
@ -128,13 +89,6 @@
method: system
loop: "{{ desired_system_flatpaks }}"
- name: Remove undesired user Flatpaks
community.general.flatpak:
name: "{{ item }}"
state: absent
method: user
loop: "{{ installed_user_flatpaks.stdout_lines | difference(desired_user_flatpaks) }}"
- name: Remove undesired system Flatpaks
community.general.flatpak:
name: "{{ item }}"

View File

@ -29,10 +29,18 @@
- gnome-3-28-1804
- gnome-3-34-1804
- gnome-3-38-2004
- gnome-42-2204
- desktop-security-center
- firmware-updater
- prompting-client
- snap-store
- snapd-desktop-integration
- name: Define desired Snaps
ansible.builtin.set_fact:
desired_snaps:
- name: firefox
classic: false
- name: bitwarden
classic: false
- name: bw
@ -51,7 +59,14 @@
- 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) }}"
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:

View File

@ -2,7 +2,7 @@
ansible.builtin.package:
name:
- ulauncher
- python3-pytz
# - python3-pytz
- python3-tornado
- python3-docker
- python3-requests
@ -27,7 +27,9 @@
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"
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

View File

@ -1,9 +1,14 @@
- name: Import Microsoft GPG key
- name: Gather OS facts
ansible.builtin.setup:
filter: ansible_distribution
register: os_facts
- name: Import Microsoft GPG key (Fedora)
ansible.builtin.rpm_key:
key: https://packages.microsoft.com/keys/microsoft.asc
state: present
when: os_facts.ansible_facts.ansible_distribution == 'Fedora'
- name: Add VSCode repository
- name: Add VSCode repository (Fedora)
ansible.builtin.copy:
content: |
[code]
@ -14,6 +19,19 @@
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
dest: /etc/yum.repos.d/vscode.repo
mode: '0644'
when: os_facts.ansible_facts.ansible_distribution == 'Fedora'
- name: Add VSCode repository (Ubuntu/Debian)
ansible.builtin.apt_repository:
repo: 'deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main'
state: present
when: os_facts.ansible_facts.ansible_distribution in ['Ubuntu', 'Debian']
- name: Import Microsoft GPG key (Ubuntu/Debian)
ansible.builtin.apt_key:
url: https://packages.microsoft.com/keys/microsoft.asc
state: present
when: os_facts.ansible_facts.ansible_distribution in ['Ubuntu', 'Debian']
- name: Check if VSCode is installed
ansible.builtin.command: code --version
@ -21,8 +39,14 @@
changed_when: false
failed_when: false
- name: Install VSCode
- name: Install VSCode (Fedora)
ansible.builtin.package:
name: code
state: present
when: vscode_check.rc != 0
when: vscode_check.rc != 0 and os_facts.ansible_facts.ansible_distribution == 'Fedora'
- name: Install VSCode (Ubuntu/Debian)
ansible.builtin.apt:
name: code
state: present
when: vscode_check.rc != 0 and os_facts.ansible_facts.ansible_distribution in ['Ubuntu', 'Debian']

View File

@ -11,46 +11,34 @@
ansible.builtin.import_tasks: tasks/workstations/vscode.yml
become: true
- name: Include Brave tasks
ansible.builtin.import_tasks: tasks/workstations/brave.yml
become: true
- name: Include Zen browser tasks
ansible.builtin.import_tasks: tasks/workstations/zen-browser.yml
vars:
browser_name: "zen"
browser_executable: "zen"
- name: Include 1Password Zen Browser tasks
ansible.builtin.import_tasks: tasks/workstations/1password-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: Ensure common packages are installed
ansible.builtin.package:
name:
# Flatpak package manager, used for various applications
- flatpak
###### THE FOLLOWING PACKAGES ARE DISABLED DUE TO MISSING ON UBUNTU REPOS ######
# Required by Pano - Clipboard Manager (GNOME Extension)
- libgda
- libgda-sqlite
# - libgda
# - libgda-sqlite
# Required by Bubblemail - Email Notifications (GNOME Extension)
- bubblemail
# - bubblemail
# Steam and it's dependencies
# - steam
# - steam-devices
################################################################################
# Statistics HUD for gaming
- mangohud
# Steam and it's dependencies
- steam
- steam-devices
# Missing icons in GNOME Shell (If not working, reset your icon theme with `gsettings reset gsettings reset org.gnome.desktop.interface icon-theme`)
- gdk-pixbuf2-modules-extra
- adwaita-icon-theme
- gnome-icon-theme
# Used for VSCode Extensions
- nodejs20
- nodejs
state: present
become: true
- name: Regenerate GNOME Icon Cache
ansible.builtin.command:
cmd: gtk-update-icon-cache /usr/share/icons/gnome
creates: /usr/share/icons/gnome/icon-theme.cache
become: true

View File

@ -1,14 +1,64 @@
- name: Check if Zen browser is installed
stat:
path: ~/.local/share/AppImage/ZenBrowser.AppImage
register: zen_browser_installed
- name: Set Zen browser version
ansible.builtin.set_fact:
zen_browser_version: "1.8.2b"
- 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: Create directory for browser
ansible.builtin.file:
path: "/opt/{{ browser_name }}"
state: directory
mode: '0755'
become: true
- name: Update Zen browser
ansible.builtin.command: >
echo "3" | bash <(curl https://updates.zen-browser.app/appimage.sh)
when: zen_browser_installed.stat.exists
- name: Download Zen browser tarball
ansible.builtin.get_url:
url: "https://github.com/zen-browser/desktop/releases/download/{{ zen_browser_version }}/zen.linux-x86_64.tar.xz"
dest: "/tmp/{{ browser_name }}.tar.xz"
mode: '0644'
become: true
- name: Extract browser tarball
ansible.builtin.unarchive:
src: "/tmp/{{ browser_name }}.tar.xz"
dest: "/opt/{{ browser_name }}"
remote_src: true
extra_opts: [--strip-components=1]
become: true
- name: Create symlink to browser executable
ansible.builtin.file:
src: "/opt/{{ browser_name }}/{{ browser_executable }}"
dest: "/usr/local/bin/{{ browser_name }}"
state: link
become: true
- name: Create desktop file
ansible.builtin.copy:
content: |
[Desktop Entry]
Version=1.0
Name=Zen Browser
Exec=/usr/local/bin/{{ browser_name }}
Icon=/opt/zen/browser/chrome/icons/default/default128.png
Type=Application
Categories=Network;WebBrowser;
dest: "/usr/share/applications/zen.desktop"
mode: '0644'
become: true
- name: Update desktop database
ansible.builtin.command:
cmd: update-desktop-database
creates: /usr/share/applications/mimeinfo.cache
become: true
- name: Make desktop file executable
ansible.builtin.file:
dest: "/usr/share/applications/zen.desktop"
mode: '0755'
become: true
- name: Clean up downloaded tarball
ansible.builtin.file:
path: "/tmp/{{ browser_name }}.tar.xz"
state: absent
become: true