summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md89
1 files changed, 89 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..846c26f
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,89 @@
+# Archsetup Project Context
+
+## Overview
+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
+
+## 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/
+```
+
+## 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
+~/.bashrc → Bash-specific settings, sources .bashrc.d/
+~/.zshrc → Zsh-specific settings, sources .zshrc.d/
+~/.profile.d/ → Modular env vars (display, framework, auto-tmux, hyprland)
+~/.bashrc.d/ → Modular bash configs (aliases, fzf, git, media, utilities, emacs)
+~/.zshrc.d/ → Modular zsh configs (same + arch-downgrade)
+```
+
+## Current Theme (Dupre)
+- **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
+
+## Key Configuration Files
+- `dotfiles/hyprland/.config/hypr/hyprland.conf` - Main Hyprland config
+- `dotfiles/hyprland/.config/themes/dupre/` - Dupre theme files
+- `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