diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-13 08:08:13 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-13 08:08:13 -0600 |
| commit | 625d451b6a8edc04c3d4b01abbd820a83013562e (patch) | |
| tree | 758287ec04897953564538d1b1c1e81961d6c6d7 /docs | |
| parent | b84b02d4572a904f637e9b6be8d85e7262c50479 (diff) | |
chore: remove docs/NOTES.org from git tracking
File remains local but is now covered by .gitignore
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/NOTES.org | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/docs/NOTES.org b/docs/NOTES.org deleted file mode 100644 index 5319a90..0000000 --- a/docs/NOTES.org +++ /dev/null @@ -1,155 +0,0 @@ -#+TITLE: ArchSetup Development Notes -#+DATE: 2025-11-10 - -* 2026-01-10: Dotfiles Symlink Accessibility Fix - -** Work Completed - -*** Bug Fix: Dotfiles Inaccessible After First Login -- Diagnosed issue where zsh prompted for new user setup on first login -- Root cause: stow created symlinks pointing to wherever archsetup was run from (e.g., /tmp/archsetup-test/ or /root/archsetup/) -- User couldn't read dotfiles because symlinks pointed to inaccessible locations -- Fix: archsetup now copies itself to ~/code/archsetup before running stow (archsetup:467-478) -- Symlinks now point to user-accessible location: ~/.zshrc -> code/archsetup/dotfiles/system/.zshrc - -*** Test Framework Enhancement -- Added dotfiles accessibility test to run-test.sh (lines 299-312) -- Test uses `sudo -u cjennings cat` to verify files are readable as user (not just root) -- Initial version using `su - cjennings` caused hangs due to full login shell; fixed to use sudo - -** Test Results -- Test 20260110-014402: *PASSED* (42m 57s) -- All validations passed including new dotfiles accessibility check -- 1449 packages installed - -** Git Commit -- 4101459: fix(archsetup): copy archsetup to user directory before stow - -** Context for Next Session -- Dotfiles issue is now fixed and tested -- Test framework has new accessibility validation to prevent regression - -* 2026-01-09: AI Assistants Tmux Launcher Script - -** Work Completed - -- Created ~/.local/bin/ai-assistants script for launching multiple Claude sessions -- Script creates tmux session "ai-assistants" with 7 named windows (health, finances, danneel, jr-estate, kit, homelab, nextjob) -- Each window opens respective project directory and starts Claude with session-start workflow prompt -- Script attaches to existing session if already running (idempotent) -- Fixed rofi absolute symlink conflict during stow (removed and let stow recreate as relative) - -** Context for Next Session - -- ai-assistants script ready to use - just run `ai-assistants` from terminal -- Consider adding more projects to the script as needed - -* 2025-12-01: Major Feature Session - Pre-flight, State Tracking, Integration Test - -** Work Completed - -*** Rofi Configuration Standardization -- Created self-contained rofi configuration in dotfiles/system/.config/rofi/ -- Designed theme to match dunst notification colors (bg: #383c4af0, fg: #cdd1dc, border: #2d303c) -- Simplified sxhkd keybindings (removed inline flags, moved to config.rasi) -- Removed phantom PATH entry for non-existent ~/.config/rofi/scripts/ - -*** Nitrogen to Feh Migration -- Replaced nitrogen with feh (nitrogen removed from Arch repos) -- Updated all references: .xinitrc, monitor script, lf/lfrc, ranger/rc.conf -- Added feh to archsetup package list - -*** Pre-flight Checks Implementation -- Added preflight_checks() function validating: - - Disk space (20GB minimum) - - Network connectivity (ping archlinux.org) - - pacman availability - - Arch Linux detection (/etc/arch-release) - -*** State Tracking for Resume Capability -- State stored in /var/lib/archsetup/state/ as timestamped marker files -- run_step() wrapper tracks completion of 12 major installation phases -- Added CLI flags: --status (show progress), --fresh (clear state), --help - -*** Integration Test Fixes -- Fixed duplicate package entries (multimarkdown, proselint were listed as both AUR and pacman) -- Diagnosed and fixed git server 504 errors (fcgiwrap overload after 2 months) -- Blocked aggressive crawler IP via UFW - -** Test Results -- Test 20251201-084055: *PASSED* (60m 34s) -- 3 non-critical errors: mkinitcpio-firmware (intermittent), multimarkdown/proselint (fixed) - -** Git Commits (8 total) -- 590aa02: feat(rofi): standardize rofi configuration with dunst-matched theme -- 0601d39: feat(wallpaper): replace nitrogen with feh -- 84a52a8: docs(TODO): mark completed tasks from today's session -- bcacfa0: docs(TODO): mark -debug packages task as verified complete -- 03145a1: docs(TODO): mark root check and git pull fixes as verified complete -- 75b0a17: feat(archsetup): add pre-flight checks before installation -- 50423fd: feat(archsetup): implement state tracking for resume capability -- 777e113: fix(archsetup): remove duplicate multimarkdown and proselint entries - -** Context for Next Session -- mkinitcpio-firmware occasionally fails (network/AUR timing issue) - kept as-is -- All [#A] priority TODOs now complete -- Consider testing resume capability (--fresh then interrupt mid-run) - -* 2025-11-21: GPG/Emacs Authentication Fix - -** Problem Diagnosed -- mu4e in Emacs failing with "gpg: problem with the agent: End of file" -- Root cause: Emacs daemon started via systemd user service (emacs.service) -- systemd-started Emacs had no DISPLAY or GPG_TTY in environment -- pinentry-dmenu couldn't connect to X, causing silent failures -- gpg-agent settings were fine (400-day TTL, pinentry-dmenu, ssh-support) - -** Diagnostic Commands Used -#+begin_src bash -gpgconf --list-dirs agent-socket # Socket present at /run/user/1000/gnupg/S.gpg-agent -gpg-connect-agent 'getinfo pid' /bye # Agent running (pid 1759, --supervised) -cat /proc/1728/environ | tr '\0' '\n' | grep -E 'GPG|TTY|DISPLAY' # Empty - no X env -#+end_src - -** Previous Fix (Did Not Work) -- Disabled emacs.service: =systemctl --user disable emacs.service= -- Issue persisted after reboot - still got "End of file" error in mu4e - -** Understanding "End of File" Error -- Error comes from IPC level between gpg-agent and pinentry -- pinentry-dmenu spawns, tries to connect to X11, fails (no DISPLAY) -- pinentry crashes/exits without sending response -- gpg-agent reads EOF from the pipe and reports the error -- The error message is the literal syscall result, not a helpful description - -** Actual Fix Applied -- Added =~/.local/bin/reset-auth= call to .xinitrc after DISPLAY is exported -- This restarts gpg-agent with correct DISPLAY environment -- Runs before any apps (signal-desktop, protonmail-bridge, etc.) start -- Location: .xinitrc lines 29-31 - -** Key Files Referenced -- ~/.gnupg/gpg-agent.conf - TTL and pinentry settings -- ~/.xinitrc - now includes reset-auth call after DISPLAY export -- ~/.local/bin/reset-auth - restarts gpg-agent with current environment - -** Context for Next Session -- Verify GPG auth works correctly after next reboot -- If still failing, investigate pinentry-dmenu X11 connection - -* 2025-11-18: Console Font Configuration - -** Work Completed -- Improved console font readability for laptop display -- Tested multiple console fonts: solar24x32, latarcyrheb-sun32, terminus variants -- Selected ter-132n (Terminus 32px normal) as optimal for readability -- Updated /etc/vconsole.conf to FONT=ter-132n on current system -- Added terminus-font package to archsetup (archsetup:561) -- Changed console font configuration from lat0-16 to ter-132n (archsetup:965) - -** Console Font History -- Original (pre-Nov 16): No FONT setting (kernel default, very small) -- Commit 26a20f3: Added FONT=lat0-16 (moderate size, 16px) -- Uncommitted change: FONT=lat4a-19 (HiDPI, too small for laptop) -- Current configuration: FONT=ter-132n (large, 32px, excellent readability) - |
