Compare commits

6 Commits

Author SHA1 Message Date
Fabio Scotto di Santolo
525fa05352 Remove system-config-printer from Arch (GNOME uses gnome-control-center)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:58:29 +02:00
Fabio Scotto di Santolo
d7629d33d6 Expand and clean up Arch GNOME packages, remove alacritty from Arch
- arch_desktop_gnome_packages: add full GNOME app suite (baobab, gnome-console,
  loupe, papers, showtime, snapshot, sushi, gvfs backends, etc.), sort
  alphabetically, remove duplicates already in arch_packages_base
  (gnome-keyring, gvfs, gvfs-mtp, gvfs-smb, simple-scan)
- Remove alacritty from arch_profile_packages; move alacritty config and
  directory creation to Void-only (profile_desktop_i3 / desktop_void_dotfiles)
- Enable emacs user service via ansible.builtin.systemd (scope: user)
  instead of a manual symlink

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:55:54 +02:00
Fabio Scotto di Santolo
224e9bf1e8 Enable gdm without starting it during provisioning
Add enabled_services_only list to services_systemd role for services that
should be enabled at boot but not started immediately. Move gdm to this list
on Arch to avoid starting the display manager mid-provisioning.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:43:40 +02:00
Fabio Scotto di Santolo
238d8ab873 Switch to emacs-wayland on Arch, use package-provided emacs.service
- emacs → emacs-wayland in arch_profile_packages
- Remove custom emacs.service deployment: replace full .config/systemd/user/
  directory copy with individual service files (rclone-pcloud, syncthing)
- Remove emacs.service from desktop_systemd_user_services
- Enable package-provided /usr/lib/systemd/user/emacs.service via symlink
  in profile_desktop_gnome

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:41:10 +02:00
Fabio Scotto di Santolo
b483ef5b7e Move st to Void-only source tools, remove bookokrat
- bookokrat removed completely from desktop_source_tools
- st moved from common to desktop_void_source_tools (Void-only; uses X11/make)
- Build task loop extended to include desktop_void_source_tools on Void

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:37:51 +02:00
Fabio Scotto di Santolo
56c0335b40 Use pinentry-gnome3 for gpg-agent on Arch
Add gpg-agent.arch.conf with pinentry-gnome3 and without enable-ssh-support
(SSH is handled by gnome-keyring on GNOME). Deploy it from profile_desktop_gnome,
overriding the common conf that uses pinentry-gtk-2 for Void.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:35:06 +02:00
8 changed files with 78 additions and 28 deletions

View File

@@ -51,7 +51,6 @@ arch_packages_base:
- simple-scan
- speech-dispatcher
- syncthing
- system-config-printer
- tealdeer
- tmux
- tree-sitter-cli
@@ -69,23 +68,45 @@ arch_desktop_common_packages:
- xdg-user-dirs
arch_desktop_gnome_packages:
- baobab
- gdm
- gnome-backgrounds
- gnome-calculator
- gnome-calendar
- gnome-characters
- gnome-clocks
- gnome-console
- 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
- rygel
- showtime
- snapshot
- sushi
- xdg-desktop-portal-gnome
- xdg-user-dirs-gtk
arch_profile_packages:
- alacritty
- deluge
- dnsmasq
- edk2-ovmf
- emacs
- emacs-wayland
- ffmpegthumbnailer
- firefox
- fontconfig
@@ -102,7 +123,6 @@ arch_profile_packages:
- noto-fonts
- noto-fonts-emoji
- pdfarranger
- playerctl
- poppler
- poppler-glib
- qemu-desktop
@@ -129,11 +149,12 @@ enabled_services:
- avahi-daemon
- bluetooth
- cups
- gdm
- libvirtd
- ufw
enabled_services_only:
- gdm
desktop_systemd_user_services:
- emacs.service
- syncthing.service
- rclone-pcloud.service

View File

@@ -8,22 +8,11 @@ desktop_default_session: i3
desktop_default_session_env: xorg
desktop_source_tools:
- name: st
repo: https://codeberg.org/fscotto/st
build_cmd: make
binary_name: st
install_name: st
- name: gf
repo: https://github.com/nakst/gf.git
build_cmd: ./build.sh
binary_name: gf2
install_name: gf
- name: bookokrat
repo: https://github.com/bugzmanov/bookokrat
build_cmd: cargo build --release
binary_name: bookokrat
install_name: bookokrat
build_output_path: target/release/bookokrat
- name: llmfit
repo: https://github.com/AlexsJones/llmfit
build_cmd: cargo build --release
@@ -46,10 +35,6 @@ desktop_common_dotfiles:
src: .config/autostart/
dest: .config/autostart/
mode: preserve
- name: alacritty config
src: .config/alacritty/
dest: .config/alacritty/
mode: preserve
- name: fastfetch config
src: .config/fastfetch/
dest: .config/fastfetch/
@@ -128,10 +113,14 @@ desktop_common_dotfiles:
mode: "0600"
desktop_arch_dotfiles:
- name: systemd user services
src: .config/systemd/user/
dest: .config/systemd/user/
mode: preserve
- 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

View File

@@ -1,4 +1,11 @@
---
desktop_void_source_tools:
- name: st
repo: https://codeberg.org/fscotto/st
build_cmd: make
binary_name: st
install_name: st
void_packages_base:
- 7zip
- NetworkManager
@@ -108,6 +115,10 @@ desktop_void_dotfiles:
src: .bashrc.d/15-runit-desktop.sh
dest: .bashrc.d/15-runit-desktop.sh
mode: "0644"
- name: alacritty config
src: .config/alacritty/
dest: .config/alacritty/
mode: preserve
- name: GTK theme setup script
src: .local/bin/setup-gtk-theme
dest: .local/bin/setup-gtk-theme

View File

@@ -19,7 +19,6 @@
loop:
- "{{ user_home }}/.config"
- "{{ user_home }}/.config/autostart"
- "{{ user_home }}/.config/alacritty"
- "{{ user_home }}/.config/systemd"
- "{{ user_home }}/.config/systemd/user"
- "{{ user_home }}/.bashrc.d"
@@ -541,8 +540,8 @@
file: source_tool.yml
apply:
tags: [packages]
loop: "{{ desktop_source_tools }}"
when: desktop_source_tools | length > 0
loop: "{{ desktop_source_tools + (desktop_void_source_tools | default([])) }}"
when: (desktop_source_tools + (desktop_void_source_tools | default([]))) | length > 0
loop_control:
loop_var: source_tool
label: "{{ source_tool.name }}"

View File

@@ -17,6 +17,23 @@
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:

View File

@@ -8,6 +8,7 @@
group: "{{ user_group }}"
mode: "0755"
loop:
- "{{ user_home }}/.config/alacritty"
- "{{ user_home }}/.config/dunst"
- "{{ user_home }}/.config/i3"
- "{{ user_home }}/.config/i3blocks"

View File

@@ -18,3 +18,12 @@
loop: "{{ host_enabled_services | default([]) }}"
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 }}"

View File

@@ -0,0 +1,3 @@
pinentry-program /usr/bin/pinentry-gnome3
default-cache-ttl 600
max-cache-ttl 7200