summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md58
1 files changed, 37 insertions, 21 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 2a77608..846c26f 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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