summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md99
1 files changed, 49 insertions, 50 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index d99cb74..f0c3f2a 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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