# Archsetup Project Context ## Overview Arch Linux installation and configuration scripts with dotfiles managed via GNU Stow. Supports both X11 (DWM) and Wayland (Hyprland) setups. ## Project Structure - `archsetup` - Main installation script with functions for packages, configs, services - `dotfiles/system/` - Shared dotfiles for all desktop environments (stowed to ~) - `dotfiles/dwm/` - DWM/X11-specific dotfiles including dmenu scripts and dwmblocks statusbar - `dotfiles/hyprland/` - Hyprland-specific dotfiles - `docs/` - Documentation and package lists - `reference-repos/` - External dotfile references ## Script Organization (Jan 2026 Refactor) ``` dotfiles/system/.local/bin/ → Universal scripts (46) - work on X11 & Wayland dotfiles/dwm/.local/bin/ → X11/DWM-only scripts (26 + 24 statusbar) dotfiles/hyprland/.local/bin/ → Hyprland-only scripts (8) ``` ## Shell Configuration (Jan 2026 Refactor) ``` ~/.profile → Environment variables only (POSIX compatible) ~/.bash_profile → Sources .profile + .bashrc for login shells ~/.bashrc → Bash-specific settings, sources .bashrc.d/ ~/.zshrc → Zsh-specific settings, sources .zshrc.d/ ~/.profile.d/ → Modular env vars (display, framework, auto-tmux, hyprland) ~/.bashrc.d/ → Modular bash configs (aliases, fzf, git, media, utilities, emacs) ~/.zshrc.d/ → Modular zsh configs (same + arch-downgrade) ``` ## Current Theme (Dupre) - **GTK**: Adwaita-dark - **Qt**: Adwaita-Dark (via adwaita-qt5/qt6, QT_STYLE_OVERRIDE) - **Icons**: Papirus-Dark - **Cursors**: capitaine-cursors-light (size 24) - **Color palette**: bg #151311, gold #d7af5f, steel #969385, blue #67809c ## Key Configuration Files - `dotfiles/hyprland/.config/hypr/hyprland.conf` - Main Hyprland config - `dotfiles/hyprland/.config/themes/dupre/` - Dupre theme files - `dotfiles/system/.profile.d/` - Shell environment scripts - `dotfiles/system/.config/qt5ct/qt5ct.conf` - Qt5 theming - `dotfiles/system/.config/qt6ct/qt6ct.conf` - Qt6 theming - `dotfiles/system/.local/bin/resetmimetypes` - MIME associations script ## Stowing Dotfiles - DWM installs: `stow --target=$HOME system && stow --target=$HOME dwm` - Hyprland installs: `stow --target=$HOME system && stow --target=$HOME hyprland` ## Pending Work - Review remaining scripts in system/.local/bin/ for unused apps (lf, mpd, msmtp) - Review config files for apps no longer installed - Consider Makefile targets for foolproof stowing - Task #4: Evaluate Euphonica MPD client (May 2026) ## Recent Changes (Jan 2026) - Reorganized scripts: X11-only moved to dotfiles/dwm/, universal stays in system/ - Deleted 8 obsolete scripts (debugemacs, gruv, calibre-install, etc.) - Refactored shell configs: proper .profile/.bashrc/.zshrc separation - Created .bashrc.d/ and .zshrc.d/ for modular configs - Added Qt theming with adwaita-qt5/qt6 - Added font packages: cantarell-fonts, ttf-caladea, ttf-carlito, ttf-croscore - Pruned ~90 desktop files from app menu with NoDisplay=true overrides - Switched file manager from Thunar to Nautilus - Cleaned up resetmimetypes script ## Notes - Desktop file overrides go in `dotfiles/hyprland/.local/share/applications/` - Stow conflicts require manual symlinks: `ln -sf source target` - MPD is configured but mpv handles audio file associations - BerkeleyMono Nerd Font is the primary monospace font