From 36a8762e4dd0568588e82a460422bc78714b0fc6 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Wed, 13 May 2026 20:06:20 +0200 Subject: [PATCH] Remove Arch/nymph path, restore nymph as Void desktop Delete all Arch-specific files (packages_arch role, profile_desktop_gnome role, arch.yml group_vars, nymph.yml host_vars, arch dotfiles). Revert nymph to the void group in inventory, remove the arch play from site.yml, and restore profile_desktop_host/tasks/nymph.yml to its pre-Arch state (GRUB + NVIDIA + prime-run). Preserve Void improvements introduced alongside Arch work (desktop_void_dotfiles, desktop_void_source_tools, profile_desktop_i3 dir additions, void-specific conditions). Co-Authored-By: Claude Sonnet 4.6 --- AGENTS.md | 14 +- ansible/inventory/group_vars/arch.yml | 160 ----------- ansible/inventory/group_vars/desktop.yml | 14 - ansible/inventory/host_vars/nymph.yml | 49 ---- ansible/inventory/hosts.yml | 11 +- ansible/roles/packages_arch/tasks/main.yml | 27 -- .../profile_desktop_common/tasks/main.yml | 44 +-- .../profile_desktop_gnome/tasks/main.yml | 59 ----- .../profile_desktop_host/tasks/nymph.yml | 75 +----- ansible/roles/services_systemd/tasks/main.yml | 8 - ansible/site.yml | 10 - dotfiles/desktop/.config/mimeapps.arch.list | 250 ------------------ dotfiles/desktop/.gnupg/gpg-agent.arch.conf | 3 - 13 files changed, 15 insertions(+), 709 deletions(-) delete mode 100644 ansible/inventory/group_vars/arch.yml delete mode 100644 ansible/inventory/host_vars/nymph.yml delete mode 100644 ansible/roles/packages_arch/tasks/main.yml delete mode 100644 ansible/roles/profile_desktop_gnome/tasks/main.yml delete mode 100644 dotfiles/desktop/.config/mimeapps.arch.list delete mode 100644 dotfiles/desktop/.gnupg/gpg-agent.arch.conf diff --git a/AGENTS.md b/AGENTS.md index a23c895..b622fdb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # AGENTS.md -Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workstations, Windows+WSL, and an Ubuntu server. +Ansible-driven personal infrastructure repo for Void desktops, Linux workstations, Windows+WSL, and an Ubuntu server. ## Source Of Truth - Main orchestration: `ansible/site.yml` @@ -11,8 +11,7 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst - Codex config is rendered from `dotfiles/common/.codex/config.toml.j2` so `model_instructions_file` points to the deployed `~/.config/ai/bootstrap.md`. ## Topology -- Void desktops: `ikaros` -- Arch desktops: `nymph` +- Void desktops: `ikaros`, `nymph` - Native Linux workstations: `deadalus-ubuntu`, `deadalus-fedora` - Windows host + WSL dev: `deadalus-win`, `deadalus-wsl` - Ubuntu server: `prometheus` @@ -35,15 +34,13 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst - `ansible-lint ansible/roles` - `yamllint ansible/` - Host-focused dry runs: - - Void desktop work: `ansible-playbook ansible/site.yml --limit ikaros --check --diff` - - Arch desktop work: `ansible-playbook ansible/site.yml --limit nymph --check --diff` + - Void desktop work: `ansible-playbook ansible/site.yml --limit ikaros --check --diff` or `--limit nymph --check --diff` - Ubuntu workstation: `ansible-playbook ansible/site.yml --limit deadalus-ubuntu --check --diff` - Fedora workstation: `ansible-playbook ansible/site.yml --limit deadalus-fedora --check --diff` - WSL dev: `ansible-playbook ansible/site.yml --limit deadalus-wsl --check --diff` - Server: `ansible-playbook ansible/site.yml --limit prometheus --check --diff` - Focused checks: - Emacs dotfiles only: `ansible-playbook ansible/site.yml --limit ikaros --tags emacs --check --diff` or `--limit nymph --tags emacs --check --diff` - - Arch GNOME desktop bootstrap on nymph: `ansible-playbook ansible/site.yml --limit nymph --tags packages,services,gnome --check --diff` - Mail bootstrap: `sh -n scripts/bootstrap_mail.sh` and `shellcheck scripts/bootstrap_mail.sh` - Windows bootstrap parse: `pwsh -NoProfile -Command "[void][System.Management.Automation.Language.Parser]::ParseFile('scripts/bootstrap_windows_workstation.ps1', [ref]$null, [ref]$null)"` - Server compose render: `docker compose -f /opt/docker/server/docker-compose.yml config` @@ -61,15 +58,10 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst - `.emacs.d` is deployed by a dedicated `profile_desktop_common` task tagged `emacs`. - NTFS filesystem support is provided by `ntfs-3g` in `ansible/inventory/group_vars/void.yml`. - Void user services are managed by `turnstile` and live under `dotfiles/desktop/.config/service/`. -- Arch user services are systemd user units under `dotfiles/desktop/.config/systemd/user/`. - `ssh-agent` keeps the stable socket `~/.local/state/ssh-agent/socket`. - Critical session entrypoints: - `dotfiles/desktop/.xinitrc` - - `dotfiles/desktop/.local/bin/start-sway-session` - Do not auto-restart `emptty` during playbook runs on active Void desktop hosts; restart it manually from another TTY/SSH session if needed. -- `nymph` is an Arch GNOME/GDM desktop; do not route it through Void/i3/Sway/emptty tasks. -- `nymph` uses systemd-boot; keep loader entries and kernel cmdline in `ansible/inventory/host_vars/nymph.yml`. -- `profile_desktop_sway` owns the Sway session, Noctalia config rendering, and official plugin linking when a Sway desktop is explicitly enabled. - Noctalia shared config lives in `dotfiles/desktop/.config/noctalia/`; bar monitors and `screenOverrides` come from inventory (`noctalia_bar_monitors`, `noctalia_screen_overrides`) on Sway hosts. - On Sway hosts, `udiskie` is the backend for automount/LUKS but runs without tray; USB device UI is handled by `usb-drive-manager`. - Do not re-introduce `network-manager-applet` or `blueman` on Sway hosts without an explicit host-specific reason. diff --git a/ansible/inventory/group_vars/arch.yml b/ansible/inventory/group_vars/arch.yml deleted file mode 100644 index 7875307..0000000 --- a/ansible/inventory/group_vars/arch.yml +++ /dev/null @@ -1,160 +0,0 @@ ---- -arch_packages_base: - - 7zip - - archlinux-keyring - - avahi - - base-devel - - bluez - - clang - - cmake - - cups - - cups-filters - - cups-pk-helper - - fastfetch - - flatpak - - fuse3 - - gcc - - gdb - - git-delta - - github-cli - - gnome-keyring - - go - - gvfs - - gvfs-mtp - - gvfs-smb - - imagemagick - - isync - - libsecret - - libtool - - linux - - linux-headers - - lm_sensors - - man-db - - man-pages - - msmtp - - networkmanager - - nodejs - - npm - - pavucontrol - - pipewire - - pipewire-alsa - - pipewire-jack - - pipewire-pulse - - pkgconf - - plocate - - podman - - podman-compose - - rclone - - sane - - sane-airscan - - seahorse - - simple-scan - - speech-dispatcher - - syncthing - - tealdeer - - tmux - - tree-sitter-cli - - ufw - - wireplumber - - xdotool - - yt-dlp - -arch_desktop_common_packages: - - brightnessctl - - dex - - pinentry - - xdg-desktop-portal - - xdg-desktop-portal-gtk - - xdg-user-dirs - -arch_desktop_gnome_packages: - - baobab - - gdm - - gnome-backgrounds - - gnome-calculator - - gnome-calendar - - gnome-characters - - gnome-clocks - - gnome-control-center - - gnome-disk-utility - - gnome-font-viewer - - gnome-session - - gnome-settings-daemon - - gnome-shell - - gnome-shell-extensions - - gnome-tweaks - - gvfs-afc - - gvfs-dnssd - - gvfs-goa - - gvfs-gphoto2 - - gvfs-nfs - - gvfs-onedrive - - gvfs-wsdd - - loupe - - mutter - - nautilus - - papers - - ptyxis - - rygel - - showtime - - snapshot - - sushi - - xdg-desktop-portal-gnome - - xdg-user-dirs-gtk - -arch_profile_packages: - - deluge - - dnsmasq - - edk2-ovmf - - emacs-wayland - - ffmpegthumbnailer - - firefox - - fontconfig - - freetype2 - - gufw - - iproute2 - - libvterm - - libx11 - - libxft - - libvirt - - libreoffice-fresh - - meld - - mpv - - noto-fonts - - noto-fonts-emoji - - pdfarranger - - poppler - - poppler-glib - - qemu-desktop - - remmina - - ripgrep - - rsync - - ruff - - rustup - - texlive-basic - - texlive-binextra - - texlive-latex - - texlive-latexextra - - ttf-hack-nerd - - ttf-liberation - - ttf-nerd-fonts-symbols - - ctags - - uv - - virt-manager - - xournalpp - - zstd - -enabled_services: - - NetworkManager - - avahi-daemon - - bluetooth - - cups - - libvirtd - - ufw - -enabled_services_only: - - gdm - -desktop_systemd_user_services: - - syncthing.service - - rclone-pcloud.service diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 4767e45..5443614 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -112,20 +112,6 @@ desktop_common_dotfiles: dest: .ssh/config mode: "0600" -desktop_arch_dotfiles: - - name: rclone pcloud systemd user service - src: .config/systemd/user/rclone-pcloud.service - dest: .config/systemd/user/rclone-pcloud.service - mode: "0644" - - name: syncthing systemd user service - src: .config/systemd/user/syncthing.service - dest: .config/systemd/user/syncthing.service - mode: "0644" - - name: MIME application defaults - src: .config/mimeapps.arch.list - dest: .config/mimeapps.list - mode: "0644" - desktop_emacs_dotfiles: - name: Emacs config src: .emacs.d/ diff --git a/ansible/inventory/host_vars/nymph.yml b/ansible/inventory/host_vars/nymph.yml deleted file mode 100644 index c5c2c11..0000000 --- a/ansible/inventory/host_vars/nymph.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -hostname: nymph - -desktop_sessions_enabled: - - gnome - -desktop_default_session: gnome -desktop_default_session_env: wayland - -host_kernel_cmdline: >- - rd.luks.uuid=1e15d159-5d05-4a1f-9639-ac200dff9f9c rootflags=subvol=@ - apparmor=1 security=apparmor nouveau.modeset=0 nvidia-drm.modeset=1 - -host_systemd_boot_esp_path: /boot -host_systemd_boot_default: arch.conf -host_systemd_boot_timeout: 3 -host_systemd_boot_console_mode: max -host_systemd_boot_editor: false -host_systemd_boot_entries: - - filename: arch.conf - title: Arch Linux - linux: /vmlinuz-linux - initrds: - - /intel-ucode.img - - /initramfs-linux.img - options: "{{ host_kernel_cmdline }}" - - filename: arch-fallback.conf - title: Arch Linux fallback - linux: /vmlinuz-linux - initrds: - - /intel-ucode.img - - /initramfs-linux-fallback.img - options: "{{ host_kernel_cmdline }}" - -host_packages: - - intel-ucode - - intel-media-driver - - libva-intel-driver - - mesa - - nvidia-open - - nvidia-settings - - nvidia-utils - - power-profiles-daemon - - upower - - vulkan-icd-loader - - vulkan-intel - -host_enabled_services: - - power-profiles-daemon diff --git a/ansible/inventory/hosts.yml b/ansible/inventory/hosts.yml index cd34d45..253527b 100644 --- a/ansible/inventory/hosts.yml +++ b/ansible/inventory/hosts.yml @@ -5,10 +5,8 @@ all: hosts: ikaros: ansible_connection: local - - arch: - children: - arch_desktop: + nymph: + ansible_connection: local desktop: hosts: @@ -57,11 +55,6 @@ all: deadalus-fedora: ansible_connection: local - arch_desktop: - hosts: - nymph: - ansible_connection: local - workstation_host_linux: hosts: deadalus-ubuntu: diff --git a/ansible/roles/packages_arch/tasks/main.yml b/ansible/roles/packages_arch/tasks/main.yml deleted file mode 100644 index e67f25f..0000000 --- a/ansible/roles/packages_arch/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: Synchronize and upgrade Arch Linux packages - tags: [packages] - community.general.pacman: - update_cache: true - upgrade: true - -- name: Install packages on Arch Linux - tags: [packages] - community.general.pacman: - name: >- - {{ - ( - (common_packages | default([])) - + (arch_packages_base | default([])) - + (arch_desktop_common_packages | default([])) - + ( - (arch_desktop_gnome_packages | default([])) - if 'gnome' in (desktop_sessions_enabled | default([])) - else [] - ) - + (arch_profile_packages | default([])) - + (host_packages | default([])) - ) - | unique - }} - state: present diff --git a/ansible/roles/profile_desktop_common/tasks/main.yml b/ansible/roles/profile_desktop_common/tasks/main.yml index ea98de4..a71f7be 100644 --- a/ansible/roles/profile_desktop_common/tasks/main.yml +++ b/ansible/roles/profile_desktop_common/tasks/main.yml @@ -272,37 +272,10 @@ {{ (desktop_common_dotfiles | default([])) + ((desktop_void_dotfiles | default([])) if 'void' in group_names else []) - + ((desktop_arch_dotfiles | default([])) if 'arch' in group_names else []) }} loop_control: label: "{{ item.dest }}" -- name: Ensure systemd user enablement directory exists - tags: [services, dotfiles, dotfiles:desktop] - ansible.builtin.file: - path: "{{ user_home }}/.config/systemd/user/default.target.wants" - state: directory - owner: "{{ username }}" - group: "{{ user_group }}" - mode: "0755" - when: - - "'arch' in group_names" - - (desktop_systemd_user_services | default([])) | length > 0 - -- name: Enable desktop systemd user services - tags: [services, dotfiles, dotfiles:desktop] - ansible.builtin.file: - src: "{{ user_home }}/.config/systemd/user/{{ item }}" - dest: "{{ user_home }}/.config/systemd/user/default.target.wants/{{ item }}" - state: link - owner: "{{ username }}" - group: "{{ user_group }}" - force: true - loop: "{{ desktop_systemd_user_services | default([]) }}" - loop_control: - label: "{{ item }}" - when: "'arch' in group_names" - - name: Copy Emacs desktop dotfiles tags: [dotfiles, dotfiles:desktop, emacs] ansible.builtin.copy: @@ -499,27 +472,14 @@ path: "{{ user_home }}/.cargo/bin/rustc" register: rustup_initialized - - name: Run rustup-init with cargo env sourced (Void) + - name: Run rustup-init with cargo env sourced ansible.builtin.shell: cmd: . ~/.cargo/env && rustup-init -y --no-modify-path creates: "{{ user_home }}/.cargo/bin/rustc" become_user: "{{ username }}" environment: HOME: "{{ user_home }}" - when: - - not rustup_initialized.stat.exists - - "'void' in group_names" - - - name: Install Rust stable toolchain via rustup (Arch) - ansible.builtin.command: - cmd: rustup toolchain install stable - creates: "{{ user_home }}/.cargo/bin/rustc" - become_user: "{{ username }}" - environment: - HOME: "{{ user_home }}" - when: - - not rustup_initialized.stat.exists - - "'arch' in group_names" + when: not rustup_initialized.stat.exists - name: Ensure cargo env is sourced in shell profile ansible.builtin.lineinfile: diff --git a/ansible/roles/profile_desktop_gnome/tasks/main.yml b/ansible/roles/profile_desktop_gnome/tasks/main.yml deleted file mode 100644 index 9b40e2d..0000000 --- a/ansible/roles/profile_desktop_gnome/tasks/main.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -- name: Ensure GNOME desktop session is enabled for this profile - tags: [gnome] - ansible.builtin.assert: - that: - - "'gnome' in (desktop_sessions_enabled | default([]))" - fail_msg: >- - profile_desktop_gnome requires desktop_sessions_enabled to include gnome. - -- name: Ensure systemd boots to the graphical target - tags: [services, gnome] - ansible.builtin.file: - src: /usr/lib/systemd/system/graphical.target - dest: /etc/systemd/system/default.target - state: link - force: true - owner: root - group: root - -- name: Enable emacs user service from package - tags: [services, emacs] - ansible.builtin.systemd: - name: emacs.service - enabled: true - scope: user - become_user: "{{ username }}" - -- name: Deploy gpg-agent.conf for GNOME (pinentry-gnome3, no ssh-support) - tags: [dotfiles, dotfiles:desktop, gnome] - ansible.builtin.copy: - src: "{{ playbook_dir }}/../dotfiles/desktop/.gnupg/gpg-agent.arch.conf" - dest: "{{ user_home }}/.gnupg/gpg-agent.conf" - owner: "{{ username }}" - group: "{{ user_group }}" - mode: "0600" - -- name: Enable gnome-keyring PAM auth hook for GDM - tags: [gnome] - ansible.builtin.lineinfile: - path: /etc/pam.d/gdm-password - insertafter: '^auth\s+include\s+system-local-login$' - line: "auth optional pam_gnome_keyring.so" - state: present - -- name: Enable gnome-keyring PAM session hook for GDM - tags: [gnome] - ansible.builtin.lineinfile: - path: /etc/pam.d/gdm-password - insertafter: '^session\s+include\s+system-local-login$' - line: "session optional pam_gnome_keyring.so auto_start" - state: present - -- name: Enable gnome-keyring PAM password hook for GDM - tags: [gnome] - ansible.builtin.lineinfile: - path: /etc/pam.d/gdm-password - insertafter: '^password\s+include\s+system-local-login$' - line: "password optional pam_gnome_keyring.so use_authtok" - state: present diff --git a/ansible/roles/profile_desktop_host/tasks/nymph.yml b/ansible/roles/profile_desktop_host/tasks/nymph.yml index 5d170f2..21f8921 100644 --- a/ansible/roles/profile_desktop_host/tasks/nymph.yml +++ b/ansible/roles/profile_desktop_host/tasks/nymph.yml @@ -1,75 +1,16 @@ --- -- name: Ensure systemd-boot loader entries directory exists +- name: Configure GRUB kernel parameters for NVIDIA hybrid graphics tags: [packages, nvidia] - ansible.builtin.file: - path: "{{ host_systemd_boot_esp_path }}/loader/entries" - state: directory - owner: root - group: root - mode: "0755" - when: host_systemd_boot_esp_path is defined + ansible.builtin.lineinfile: + path: /etc/default/grub + regexp: '^GRUB_CMDLINE_LINUX=' + line: 'GRUB_CMDLINE_LINUX="rd.luks.uuid=1e15d159-5d05-4a1f-9639-ac200dff9f9c rootflags=subvol=@ apparmor=1 security=apparmor nouveau.modeset=0 nvidia-drm.modeset=1"' + state: present -- name: Check whether systemd-boot is installed +- name: Regenerate GRUB configuration tags: [packages, nvidia] - ansible.builtin.command: - argv: - - bootctl - - "--esp-path={{ host_systemd_boot_esp_path }}" - - is-installed - register: nymph_systemd_boot_state - changed_when: false - failed_when: false - when: - - host_systemd_boot_esp_path is defined - - not ansible_check_mode - -- name: Install systemd-boot - tags: [packages, nvidia] - ansible.builtin.command: - argv: - - bootctl - - "--esp-path={{ host_systemd_boot_esp_path }}" - - install + ansible.builtin.command: grub-mkconfig -o /boot/grub/grub.cfg changed_when: true - when: - - host_systemd_boot_esp_path is defined - - not ansible_check_mode - - nymph_systemd_boot_state.rc | default(1) != 0 - -- name: Configure systemd-boot loader defaults - tags: [packages, nvidia] - ansible.builtin.copy: - dest: "{{ host_systemd_boot_esp_path }}/loader/loader.conf" - content: | - default {{ host_systemd_boot_default }} - timeout {{ host_systemd_boot_timeout | default(3) }} - console-mode {{ host_systemd_boot_console_mode | default('max') }} - editor {{ 'yes' if host_systemd_boot_editor | default(false) else 'no' }} - owner: root - group: root - mode: "0644" - when: - - host_systemd_boot_esp_path is defined - - host_systemd_boot_default is defined - -- name: Configure systemd-boot Arch entries - tags: [packages, nvidia] - ansible.builtin.copy: - dest: "{{ host_systemd_boot_esp_path }}/loader/entries/{{ item.filename }}" - content: |- - title {{ item.title }} - linux {{ item.linux }} - {% for initrd in item.initrds | default([]) %} - initrd {{ initrd }} - {% endfor %} - options {{ item.options }} - owner: root - group: root - mode: "0644" - loop: "{{ host_systemd_boot_entries | default([]) }}" - loop_control: - label: "{{ item.filename }}" - when: host_systemd_boot_esp_path is defined - name: Configure NVIDIA power management for hybrid graphics tags: [packages, nvidia] diff --git a/ansible/roles/services_systemd/tasks/main.yml b/ansible/roles/services_systemd/tasks/main.yml index 301396c..51ba75b 100644 --- a/ansible/roles/services_systemd/tasks/main.yml +++ b/ansible/roles/services_systemd/tasks/main.yml @@ -19,11 +19,3 @@ loop_control: label: "{{ item }}" -- name: Enable systemd services without starting them - tags: [services, packages] - ansible.builtin.systemd: - name: "{{ item }}" - enabled: true - loop: "{{ enabled_services_only | default([]) }}" - loop_control: - label: "{{ item }}" diff --git a/ansible/site.yml b/ansible/site.yml index e829da1..456f2ce 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -27,16 +27,6 @@ - profile_desktop_i3 - profile_desktop_host -- hosts: arch - become: true - - roles: - - packages_arch - - services_systemd - - profile_desktop_common - - profile_desktop_gnome - - profile_desktop_host - - hosts: workstation_dev_ubuntu become: true diff --git a/dotfiles/desktop/.config/mimeapps.arch.list b/dotfiles/desktop/.config/mimeapps.arch.list deleted file mode 100644 index ceb02b9..0000000 --- a/dotfiles/desktop/.config/mimeapps.arch.list +++ /dev/null @@ -1,250 +0,0 @@ -[Default Applications] -text/html=userapp-Firefox-91DVN3.desktop -x-scheme-handler/http=userapp-Firefox-91DVN3.desktop -x-scheme-handler/https=userapp-Firefox-91DVN3.desktop -x-scheme-handler/about=firefox.desktop -x-scheme-handler/unknown=firefox.desktop -application/pdf=com.github.xournalpp.xournalpp.desktop -application/json=emacs.desktop -application/json5=emacs.desktop -application/xml=emacs.desktop -application/xml-external-parsed-entity=emacs.desktop -application/x-shellscript=emacs.desktop -application/yaml=emacs.desktop -inode/directory=org.gnome.Nautilus.desktop -audio/aac=mpv.desktop -audio/flac=mpv.desktop -audio/m4a=mpv.desktop -audio/mp3=mpv.desktop -audio/mpeg=mpv.desktop -audio/mp4=mpv.desktop -audio/ogg=mpv.desktop -audio/opus=mpv.desktop -audio/vnd.wave=mpv.desktop -audio/wav=mpv.desktop -audio/webm=mpv.desktop -audio/x-aac=mpv.desktop -audio/x-m4a=mpv.desktop -audio/x-matroska=mpv.desktop -audio/x-mp3=mpv.desktop -audio/x-mpegurl=mpv.desktop -audio/x-ms-wma=mpv.desktop -audio/x-ogg=mpv.desktop -audio/x-pn-wav=mpv.desktop -audio/x-scpls=mpv.desktop -audio/x-wav=mpv.desktop -video/3gp=mpv.desktop -video/3gpp=mpv.desktop -video/3gpp2=mpv.desktop -video/avi=mpv.desktop -video/mp2t=mpv.desktop -video/mp4=mpv.desktop -video/mp4v-es=mpv.desktop -video/mpeg=mpv.desktop -video/ogg=mpv.desktop -video/quicktime=mpv.desktop -video/vnd.avi=mpv.desktop -video/webm=mpv.desktop -video/x-avi=mpv.desktop -video/x-flc=mpv.desktop -video/x-flic=mpv.desktop -video/x-flv=mpv.desktop -video/x-m4v=mpv.desktop -video/x-matroska=mpv.desktop -video/x-mpeg2=mpv.desktop -video/x-ms-asf=mpv.desktop -video/x-ms-wmv=mpv.desktop -video/x-msvideo=mpv.desktop -video/x-ogm+ogg=mpv.desktop -video/x-theora=mpv.desktop -video/x-theora+ogg=mpv.desktop -application/msword=libreoffice-writer.desktop -application/rtf=libreoffice-writer.desktop -application/vnd.ms-word=libreoffice-writer.desktop -application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop -application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop -application/vnd.oasis.opendocument.text=libreoffice-writer.desktop -application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop -application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop -application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop -application/x-doc=libreoffice-writer.desktop -text/rtf=libreoffice-writer.desktop -application/csv=libreoffice-calc.desktop -application/excel=libreoffice-calc.desktop -application/msexcel=libreoffice-calc.desktop -application/tab-separated-values=libreoffice-calc.desktop -application/vnd.ms-excel=libreoffice-calc.desktop -application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop -application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop -application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop -application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop -application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop -application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop -application/x-dos_ms_excel=libreoffice-calc.desktop -application/x-excel=libreoffice-calc.desktop -application/x-ms-excel=libreoffice-calc.desktop -application/x-msexcel=libreoffice-calc.desktop -text/comma-separated-values=libreoffice-calc.desktop -text/csv=libreoffice-calc.desktop -text/tab-separated-values=libreoffice-calc.desktop -text/x-comma-separated-values=libreoffice-calc.desktop -text/x-csv=libreoffice-calc.desktop -application/mspowerpoint=libreoffice-impress.desktop -application/vnd.ms-powerpoint=libreoffice-impress.desktop -application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop -application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop -application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop -application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop -application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop -text/markdown=emacs.desktop -text/org=emacs.desktop -text/plain=emacs.desktop -text/rust=emacs.desktop -text/x-c++hdr=emacs.desktop -text/x-c++src=emacs.desktop -text/x-chdr=emacs.desktop -text/x-csrc=emacs.desktop -text/x-emacs-lisp=emacs.desktop -text/x-go=emacs.desktop -text/x-java=emacs.desktop -text/x-makefile=emacs.desktop -text/x-patch=emacs.desktop -text/x-python=emacs.desktop -text/x-python3=emacs.desktop -text/x-readme=emacs.desktop -text/x-rst=emacs.desktop -text/x-tex=emacs.desktop -text/x-texinfo=emacs.desktop -x-scheme-handler/chrome=userapp-Firefox-91DVN3.desktop -application/x-extension-htm=userapp-Firefox-91DVN3.desktop -application/x-extension-html=userapp-Firefox-91DVN3.desktop -application/x-extension-shtml=userapp-Firefox-91DVN3.desktop -application/xhtml+xml=userapp-Firefox-91DVN3.desktop -application/x-extension-xhtml=userapp-Firefox-91DVN3.desktop -application/x-extension-xht=userapp-Firefox-91DVN3.desktop - -[Added Associations] -application/json=emacs.desktop; -application/json5=emacs.desktop; -application/pdf=com.github.xournalpp.xournalpp.desktop; -application/xml=emacs.desktop; -application/xml-external-parsed-entity=emacs.desktop; -application/x-shellscript=emacs.desktop; -application/yaml=emacs.desktop; -text/plain=emacs.desktop; -inode/directory=org.gnome.Nautilus.desktop; -audio/aac=mpv.desktop; -audio/flac=mpv.desktop; -audio/m4a=mpv.desktop; -audio/mp3=mpv.desktop; -audio/mpeg=mpv.desktop; -audio/mp4=mpv.desktop; -audio/ogg=mpv.desktop; -audio/opus=mpv.desktop; -audio/vnd.wave=mpv.desktop; -audio/wav=mpv.desktop; -audio/webm=mpv.desktop; -audio/x-aac=mpv.desktop; -audio/x-m4a=mpv.desktop; -audio/x-matroska=mpv.desktop; -audio/x-mp3=mpv.desktop; -audio/x-mpegurl=mpv.desktop; -audio/x-ms-wma=mpv.desktop; -audio/x-ogg=mpv.desktop; -audio/x-pn-wav=mpv.desktop; -audio/x-scpls=mpv.desktop; -audio/x-wav=mpv.desktop; -video/3gp=mpv.desktop; -video/3gpp=mpv.desktop; -video/3gpp2=mpv.desktop; -video/avi=mpv.desktop; -video/mp2t=mpv.desktop; -video/mp4=mpv.desktop; -video/mp4v-es=mpv.desktop; -video/mpeg=mpv.desktop; -video/ogg=mpv.desktop; -video/quicktime=mpv.desktop; -video/vnd.avi=mpv.desktop; -video/webm=mpv.desktop; -video/x-avi=mpv.desktop; -video/x-flc=mpv.desktop; -video/x-flic=mpv.desktop; -video/x-flv=mpv.desktop; -video/x-m4v=mpv.desktop; -video/x-matroska=mpv.desktop; -video/x-mpeg2=mpv.desktop; -video/x-ms-asf=mpv.desktop; -video/x-ms-wmv=mpv.desktop; -video/x-msvideo=mpv.desktop; -video/x-ogm+ogg=mpv.desktop; -video/x-theora=mpv.desktop; -video/x-theora+ogg=mpv.desktop; -application/msword=libreoffice-writer.desktop; -application/rtf=libreoffice-writer.desktop; -application/vnd.ms-word=libreoffice-writer.desktop; -application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop; -application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop; -application/vnd.oasis.opendocument.text=libreoffice-writer.desktop; -application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop; -application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop; -application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop; -application/x-doc=libreoffice-writer.desktop; -text/rtf=libreoffice-writer.desktop; -application/csv=libreoffice-calc.desktop; -application/excel=libreoffice-calc.desktop; -application/msexcel=libreoffice-calc.desktop; -application/tab-separated-values=libreoffice-calc.desktop; -application/vnd.ms-excel=libreoffice-calc.desktop; -application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop; -application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop; -application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop; -application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop; -application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop; -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop; -application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop; -application/x-dos_ms_excel=libreoffice-calc.desktop; -application/x-excel=libreoffice-calc.desktop; -application/x-ms-excel=libreoffice-calc.desktop; -application/x-msexcel=libreoffice-calc.desktop; -text/comma-separated-values=libreoffice-calc.desktop; -text/csv=libreoffice-calc.desktop; -text/tab-separated-values=libreoffice-calc.desktop; -text/x-comma-separated-values=libreoffice-calc.desktop; -text/x-csv=libreoffice-calc.desktop; -application/mspowerpoint=libreoffice-impress.desktop; -application/vnd.ms-powerpoint=libreoffice-impress.desktop; -application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop; -application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop; -application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop; -application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop; -application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop; -application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop; -application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop; -application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop; -application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop; -text/markdown=emacs.desktop; -text/org=emacs.desktop; -text/rust=emacs.desktop; -text/x-c++hdr=emacs.desktop; -text/x-c++src=emacs.desktop; -text/x-chdr=emacs.desktop; -text/x-csrc=emacs.desktop; -text/x-emacs-lisp=emacs.desktop; -text/x-go=emacs.desktop; -text/x-java=emacs.desktop; -text/x-makefile=emacs.desktop; -text/x-patch=emacs.desktop; -text/x-python=emacs.desktop; -text/x-python3=emacs.desktop; -text/x-readme=emacs.desktop; -text/x-rst=emacs.desktop; -text/x-tex=emacs.desktop; -text/x-texinfo=emacs.desktop; -x-scheme-handler/http=userapp-Firefox-91DVN3.desktop; -x-scheme-handler/https=userapp-Firefox-91DVN3.desktop; -x-scheme-handler/chrome=userapp-Firefox-91DVN3.desktop; diff --git a/dotfiles/desktop/.gnupg/gpg-agent.arch.conf b/dotfiles/desktop/.gnupg/gpg-agent.arch.conf deleted file mode 100644 index 15ab186..0000000 --- a/dotfiles/desktop/.gnupg/gpg-agent.arch.conf +++ /dev/null @@ -1,3 +0,0 @@ -pinentry-program /usr/bin/pinentry-gnome3 -default-cache-ttl 600 -max-cache-ttl 7200