diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 99 |
1 files changed, 49 insertions, 50 deletions
@@ -4,31 +4,50 @@ 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/common/` - Shared dotfiles for all desktop environments (stowed to ~) -- `dotfiles/dwm/` - DWM/X11-specific dotfiles (8 scripts) -- `dotfiles/hyprland/` - Hyprland-specific dotfiles (7 scripts) -- `docs/` - Documentation and package lists -- `reference-repos/` - External dotfile references - -## Script Organization (Jan 2026 Refactor) ``` -dotfiles/common/.local/bin/ → Universal scripts (44) - work on X11 & Wayland -dotfiles/dwm/.local/bin/ → X11/DWM-only scripts (8) -dotfiles/hyprland/.local/bin/ → Hyprland-only scripts (7) +archsetup Main installation script +archsetup.conf.example Configuration template +init Bootstrap script for live ISO +Makefile GNU Stow operations for dotfile management +todo.org Active task list + +dotfiles/common/ Shared dotfiles for all desktop environments (stowed to ~) +dotfiles/dwm/ DWM/X11-specific dotfiles +dotfiles/hyprland/ Hyprland-specific dotfiles + +scripts/ Utility scripts (wireguard, post-install, wipedisk, etc.) +assets/ Reference documents and archived files + color-themes/ Theme palettes, generation scripts + outbox/ Processed inbox items + wireguard-config/ Proton VPN configs +docs/ Session docs, workflows, protocols (gitignored) +inbox/ Unprocessed documents for session review +reference-repos/ External dotfile references +scripts/testing/ VM-based integration test framework +test-results/ Test run output +vm-images/ VM disk images for testing ``` -### DWM Scripts (8) -Scripts bound in ~/code/dwm/config.def.h: -- brightness (XF86 keys), toggle-touchpad (Mod+F9), dmenuexitmenu (Mod+Shift+Q) -- Plus: airplanemodetoggle, colorpick, dmenuunicode, screenshotmenu, wallsearch +## Makefile Targets +``` +make stow dwm # Fresh install (common + dwm) +make stow hyprland # Fresh install (common + hyprland) +make restow dwm # Refresh links after git pull +make reset hyprland # Fix conflicts, keep repo version +make unstow dwm # Remove all symlinks +make import common # fzf select → import to common/ +make import dwm # fzf select → import to dwm/ +make import hyprland # fzf select → import to hyprland/ +``` -### Hyprland Scripts (7) -All actively used in configs: -- cycle-layout, layout-navigate, pinentry-fuzzel, set-theme -- toggle-scratchpad, waybar-layout, waybar-netspeed +## Dotfile Script Counts +``` +dotfiles/common/.local/bin/ → 33 universal scripts +dotfiles/dwm/.local/bin/ → 8 X11/DWM scripts +dotfiles/hyprland/.local/bin/ → 7 Hyprland scripts +``` -## Shell Configuration (Jan 2026 Refactor) +## Shell Configuration ``` ~/.profile → Environment variables only (POSIX compatible) ~/.bash_profile → Sources .profile + .bashrc for login shells @@ -39,48 +58,28 @@ All actively used in configs: ~/.zshrc.d/ → Modular zsh configs (same + arch-downgrade) ``` -## Current Theme (Dupre) +## Theme System +Two themes available: dupre (default) and hudson. Switched via `set-theme` script. + +Full palette reference: `assets/color-themes/dupre/dupre-palette.org` + - **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 +- **Font**: BerkeleyMono Nerd Font (13pt terminal, 14px waybar) +- **Theme configs**: `dotfiles/hyprland/.config/themes/dupre/` ## Key Configuration Files - `dotfiles/hyprland/.config/hypr/hyprland.conf` - Main Hyprland config -- `dotfiles/hyprland/.config/themes/dupre/` - Dupre theme files +- `dotfiles/hyprland/.config/themes/dupre/` - Dupre theme files (foot, fuzzel, waybar, dunst, hyprlock, Xresources) - `dotfiles/common/.profile.d/` - Shell environment scripts - `dotfiles/common/.config/qt5ct/qt5ct.conf` - Qt5 theming - `dotfiles/common/.config/qt6ct/qt6ct.conf` - Qt6 theming -- `dotfiles/common/.local/bin/resetmimetypes` - MIME associations script - -## Stowing Dotfiles -- DWM installs: `stow --target=$HOME common && stow --target=$HOME dwm` -- Hyprland installs: `stow --target=$HOME common && stow --target=$HOME hyprland` - -## Pending Work -- Review common/.local/bin/ scripts (44) - decide which to keep -- Review common/.config/ directories (27) for unused app configs -- Task #6: Add Makefile targets for foolproof stowing -- Task #4: Evaluate Euphonica MPD client (May 2026) - -## Recent Changes (Jan 2026) -- Renamed dotfiles/system/ to dotfiles/common/ for clarity -- Deleted unused configs: ghostty, lf, mopidy, nitrogen, pychess, JetBrains, youtube-dl, sublime-merge -- Added yt-dlp config (replaces youtube-dl) -- Cleaned up DWM scripts: 26 → 8 (removed 17 unreferenced + 24 statusbar scripts) -- Cleaned up Hyprland scripts: 8 → 7 (removed power-menu, using wlogout) -- Removed lf scripts from common (lfrun, lfub) -- 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 ## 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 - DWM keybindings defined in ~/code/dwm/config.def.h on velox +- Remote repository on cjennings.net +- docs/ is gitignored; living project context is in docs/NOTES.org |
