diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 58 |
1 files changed, 37 insertions, 21 deletions
@@ -6,19 +6,42 @@ Arch Linux installation and configuration scripts with dotfiles managed via GNU ## 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 including dmenu scripts and dwmblocks statusbar -- `dotfiles/hyprland/` - Hyprland-specific dotfiles +- `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 +- `Makefile` - GNU Stow operations for dotfile management -## Script Organization (Jan 2026 Refactor) +## Makefile Targets ``` -dotfiles/common/.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) +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/ ``` -## Shell Configuration (Jan 2026 Refactor) +## Script Counts +``` +dotfiles/common/.local/bin/ → 33 universal scripts +dotfiles/dwm/.local/bin/ → 8 X11/DWM scripts +dotfiles/hyprland/.local/bin/ → 7 Hyprland scripts +``` + +### DWM Scripts (8) +Scripts bound in ~/code/dwm/config.def.h (on velox): +- brightness (XF86 keys), toggle-touchpad (Mod+F9), dmenuexitmenu (Mod+Shift+Q) +- Plus: airplanemodetoggle, colorpick, dmenuunicode, screenshotmenu, wallsearch + +### Hyprland Scripts (7) +All actively used in configs: +- cycle-layout, layout-navigate, pinentry-fuzzel, set-theme +- toggle-scratchpad, waybar-layout, waybar-netspeed + +## Shell Configuration ``` ~/.profile → Environment variables only (POSIX compatible) ~/.bash_profile → Sources .profile + .bashrc for login shells @@ -42,32 +65,25 @@ dotfiles/hyprland/.local/bin/ → Hyprland-only scripts (8) - `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 remaining scripts in common/.local/bin/ for unused apps (mpd, msmtp) -- Add Makefile targets for foolproof stowing - Task #4: Evaluate Euphonica MPD client (May 2026) ## Recent Changes (Jan 2026) +- Added Makefile for GNU Stow operations (stow, restow, reset, unstow, import) - Renamed dotfiles/system/ to dotfiles/common/ for clarity -- Deleted unused configs: ghostty, lf, mopidy, nitrogen, pychess, JetBrains, youtube-dl -- Reorganized scripts: X11-only moved to dotfiles/dwm/, universal stays in common/ -- Deleted 8 obsolete scripts (debugemacs, gruv, calibre-install, etc.) +- Cleaned up scripts: common 44→33, dwm 50→8, hyprland 8→7 +- Deleted unused configs: ghostty, lf, mopidy, nitrogen, pychess, JetBrains, youtube-dl, sublime-merge +- Added yt-dlp config and org-protocol-setup script +- Fixed yt-dlp aliases: --add-metadata → --embed-metadata - 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 +- DWM keybindings defined in ~/code/dwm/config.def.h on velox +- audacious config kept in common/ for potential future use |
