Clean up Arch profile: remove i3/Void-specific config and fix GNOME integration

- Remove XFCE/i3-specific packages and dotfiles from Arch path (xarchiver,
  udiskie, Thunar, xfce-polkit, clipman, screenshooter)
- Separate per-OS dotfiles: mimeapps, udiskie config, GTK theme script,
  udiskie-password, dbus-session and ssh-agent fragments moved to Void-only
- Add mimeapps.arch.list with Nautilus/GNOME associations for nymph
- Move dunst/rofi directory creation from common to profile_desktop_i3
- Add gnome-keyring PAM hooks for GDM (gdm-password) in profile_desktop_gnome
- Remove ssh-agent.service from desktop_systemd_user_services on Arch;
  drop ssh-agent dependency and hardcoded socket from emacs.service
- Add ttf-hack-nerd to Arch font packages
- Fix rustup bootstrap: use rustup-init on Void, rustup toolchain install on Arch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Fabio Scotto di Santolo
2026-05-12 23:37:39 +02:00
parent 013531ad4b
commit 14c24c299d
8 changed files with 324 additions and 39 deletions

View File

@@ -19,10 +19,7 @@
loop:
- "{{ user_home }}/.config"
- "{{ user_home }}/.config/autostart"
- "{{ user_home }}/.config/dunst"
- "{{ user_home }}/.config/alacritty"
- "{{ user_home }}/.config/Thunar"
- "{{ user_home }}/.config/rofi"
- "{{ user_home }}/.config/systemd"
- "{{ user_home }}/.config/systemd/user"
- "{{ user_home }}/.bashrc.d"
@@ -504,14 +501,27 @@
path: "{{ user_home }}/.cargo/bin/rustc"
register: rustup_initialized
- name: Run rustup-init with cargo env sourced
- name: Run rustup-init with cargo env sourced (Void)
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
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"
- name: Ensure cargo env is sourced in shell profile
ansible.builtin.lineinfile: