summaryrefslogtreecommitdiff
path: root/docs/NOTES.org
diff options
context:
space:
mode:
Diffstat (limited to 'docs/NOTES.org')
-rw-r--r--docs/NOTES.org155
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)
-