summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-27 06:28:48 -0600
committerCraig Jennings <c@cjennings.net>2026-01-27 06:28:48 -0600
commit154221b8b3c7babe8ddf52faf3d99555fd4756cb (patch)
treedfe2c549cfd4eaf493d2b32c5e0c9757585a9de8 /CLAUDE.md
parent7fe0b222bde382e793d14418625375b1bf330141 (diff)
docs(CLAUDE.md): update project structure and remove stale content
Reflect current directory layout (assets/, scripts/, inbox/), add theme system section, remove changelog and pending work that belong in NOTES.org.
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md72
1 files changed, 34 insertions, 38 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 846c26f..f0c3f2a 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -4,13 +4,29 @@
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
-- `Makefile` - GNU Stow operations for dotfile management
+```
+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
+```
## Makefile Targets
```
@@ -24,23 +40,13 @@ make import dwm # fzf select → import to dwm/
make import hyprland # fzf select → import to hyprland/
```
-## Script Counts
+## 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
```
-### 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)
@@ -52,38 +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
-## Pending Work
-- 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
-- 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
-- Pruned ~90 desktop files from app menu with NoDisplay=true overrides
-
## Notes
- Desktop file overrides go in `dotfiles/hyprland/.local/share/applications/`
- 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
+- Remote repository on cjennings.net
+- docs/ is gitignored; living project context is in docs/NOTES.org