summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
44 hourssession: fix ai-assistants tilde expansion for tmux -c optionHEADmainCraig Jennings
tmux's -c option doesn't expand ~ so windows were starting in $HOME instead of project directories. Expand tilde to $HOME before passing to tmux. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
44 hourssession: fix dotfiles symlink accessibility issueCraig Jennings
Diagnosed and fixed bug where stow created symlinks to inaccessible locations. Added test to verify dotfiles are readable by user. Full test passed in 42m 57s.
2 daysfix(archsetup): copy archsetup to user directory before stowCraig Jennings
Previously, stow created dotfile symlinks pointing to wherever archsetup was run from (e.g., /root/archsetup or /tmp). If run from a location inaccessible to the user, zsh would fail to read its config on first login and prompt for new user setup. The fix copies archsetup to ~/code/archsetup before running stow, ensuring symlinks always point to a user-accessible location. Also adds a test to verify dotfiles are readable by the user (not just root). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3 dayssession: add ai-assistants tmux launcher scriptCraig Jennings
Created script to launch tmux session with Claude assistants for multiple projects. Synced dotfile changes including calibre, audacious, and shell configs.
2025-12-01session: rofi standardization, feh migration, pre-flight checks, state trackingCraig Jennings
2025-12-01fix(archsetup): remove duplicate multimarkdown and proselint entriesCraig Jennings
These AUR packages were incorrectly duplicated as pacman_install calls, causing false errors during installation. The correct aur_install entries remain in the emacs utilities section. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01feat(archsetup): implement state tracking for resume capabilityCraig Jennings
Enables resuming from where the script left off if interrupted: - State stored in /var/lib/archsetup/state/ as marker files - run_step() wrapper tracks completion, skips completed steps - --status flag shows installation progress - --fresh flag clears state for clean restart - --help flag documents all options - 12 major steps tracked (intro through boot_ux) Example: archsetup --status # check progress archsetup # resume from last step archsetup --fresh # start over 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01feat(archsetup): add pre-flight checks before installationCraig Jennings
Validates system requirements before starting: - Disk space (minimum 20GB free on /) - Network connectivity (ping archlinux.org) - pacman available - Running on Arch Linux (/etc/arch-release) Provides clear error messages with recovery hints if checks fail. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01docs(TODO): mark root check and git pull fixes as verified completeCraig Jennings
Both fixes were already implemented: - Root check exists at archsetup:23-27 - git_install and yay installer use safe rm + fresh clone (no git pull --force) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01docs(TODO): mark -debug packages task as verified completeCraig Jennings
Verified on current system: 0 -debug packages installed, yay-debug not present. Fix was implemented via --nodebug flags in archsetup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01docs(TODO): mark completed tasks from today's sessionCraig Jennings
- nitrogen → feh migration (commit 0601d39) - rofi integration and dunst-matched theme (commit 590aa02) - adwaita-color-schemes disabled (CMake build failure confirmed) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01feat(wallpaper): replace nitrogen with fehCraig Jennings
nitrogen was removed from Arch repos. Migrate to feh: - Add feh to archsetup pacman installs - Update .xinitrc, lf, ranger, and monitor script - feh auto-creates ~/.fehbg for wallpaper restore 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01feat(rofi): standardize rofi configuration with dunst-matched themeCraig Jennings
- Add self-contained config.rasi and theme in ~/.config/rofi/ - Remove external ~/code/rofi-themes-collection/ dependency - Match rofi theme colors, font, and border-radius to dunst notifications - Simplify sxhkd keybindings (settings now in config.rasi) - Remove phantom rofi/scripts PATH entry from .profile 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21session: fix GPG/pinentry auth by restarting gpg-agent in xinitrcCraig Jennings
Previous fix (disabling emacs.service) did not resolve the issue. Added reset-auth call to .xinitrc after DISPLAY export so gpg-agent inherits correct environment before apps start.
2025-11-21session: dotfiles sync and GPG/Emacs auth debuggingCraig Jennings
Synced various dotfile configs (calibre, audacious, profile.d, xinitrc). Diagnosed and fixed Emacs/GPG auth issue by disabling systemd emacs.service which lacked DISPLAY environment for pinentry-dmenu.
2025-11-18fix(archsetup): properly disable debug packages system-wideCraig Jennings
Replace invalid --nodebug flags with proper makepkg.conf configuration: 1. Configure makepkg.conf OPTIONS to disable debug packages (line 237-238) - Set OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug) - This prevents ALL packages from building debug versions 2. Remove invalid --nodebug flags from yay commands: - Remove from aur_install function (lines 169, 171, 173) - Remove from python-lyricsgenius install (line 957) - --nodebug is not a valid yay/makepkg option in test VM Previous issue: 169 "invalid option 'nodebug'" errors in test logs Expected result: Clean test execution with no debug package warnings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18fix(archsetup): remove invalid --nodebug flag and add redshift configurationCraig Jennings
Critical fix: - Remove --nodebug flag from yay makepkg command (archsetup:375) * Flag is not supported in makepkg version on test VM * Was causing yay installation to fail with error code 3 Redshift configuration improvements: - Add redshift package installation (archsetup:645) - Fix redshift.conf dimness issues: * Increase gamma from 0.6 to 1.0 (neutral) * Increase brightness-day from 0.9 to 1.0 (full) * Increase brightness-night from 0.7 to 0.8 (less aggressive) - Add redshift to .xinitrc startup services (line 62) - Expand .xinitrc from minimal to full DWM session configuration Additional cleanup: - Remove obsolete startdwm script (replaced by full .xinitrc) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15feat(archsetup): add firmware management and console font configurationCraig Jennings
- Install mkinitcpio-firmware to silence firmware warnings during upgrades - Configure lat0-16 console font for better TTY readability - Add firmware cleanup task to TODO.org (Method 3: System Hygiene) - Remove old archsetup log file Changes: - archsetup:589 - Add mkinitcpio-firmware AUR package installation - archsetup:963-964 - Configure console font in boot_ux function - TODO.org:419-441 - Add task to remove unnecessary firmware (~600MB savings) Technical details: - Framework laptop only needs intel and atheros firmware packages - mkinitcpio-firmware provides enterprise hardware firmware - lat0-16 font chosen for 2256x1504 high-res display - Eliminates firmware and consolefont warnings during mkinitcpio 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15docs(todo): add dotfiles reorganization taskCraig Jennings
Add TODO [#C] to review and reorganize dotfiles for unused applications. Options: - Move unused configs to dotfiles/unused/ directory - Design better restowing mechanism with Makefile for selective stowing Identified during package cleanup session - many configs remain for removed applications (mpd, ncmpcpp, mopidy, obs-studio, obsidian). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15refactor(archsetup): streamline packages and update configurationsCraig Jennings
Package removals: - Remove MPD/ncmpcpp/Mopidy music players (no longer needed) - Remove obs-studio, obsidian, VS Code - Remove VirtualBox and related packages (use Docker/gnome-boxes instead) - Remove rust package (will use rustup instead) Package additions: - Add difftastic, eza (modern CLI tools) - Add gimp, audacity, vlc (media applications) - Add insync, protonmail-bridge (sync/communication) - Add multimarkdown, proselint (text processing) Package updates: - Update man → man-db (current package name) - Update pandoc → pandoc-cli (current package name) Configuration updates: - Enable topgrade git repo updates for ~/code/ only - Add inbox/ directory to .gitignore - Add TODO for rustup-based Rust installation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14fix(archsetup): prevent yay-debug package installation during yay buildCraig Jennings
Add --nodebug flag to makepkg command when building yay from source to prevent creation and installation of yay-debug package. This completes the --nodebug implementation started in the previous commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13fix(archsetup): implement critical bug fixes and test improvementsCraig Jennings
This commit addresses several high-priority bugs and enhances the testing infrastructure: **Bug Fixes:** 1. Add root permission check at script start to fail fast with clear error message 2. Disable debug package installation by adding --nodebug flag to all yay calls 3. Replace unsafe `git pull --force` with safe rm + fresh clone to prevent data loss 4. Add geoclue package with correct systemd service configuration for geolocation 5. Add completion marker for reliable automated test detection **Testing Infrastructure:** - Add comprehensive VM-based testing framework in scripts/testing/ - Fix test script pgrep infinite loop using grep bracket self-exclusion pattern - Add network diagnostics and pre-flight checks - Support snapshot-based testing for reproducible test runs **Package Management:** - Remove anki (build hangs 98+ minutes) - Remove adwaita-color-schemes (CMake build issues) Test Results: 0 errors, 1,363 packages installed in 40 minutes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12fix: Configure Mopidy for M3U playlists and analog audio outputCraig Jennings
- Set playlists_dir to /home/cjennings/music for M3U discovery - Change default_extension from .m3u8 to .m3u for existing playlists - Configure explicit pulsesink to analog audio device - Reduce buffer_time from 15000ms to 1000ms for local file playback - Prevents Bluetooth audio latency/jumpiness issues 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12feat(music): migrate from MPD to Mopidy for better streaming supportCraig Jennings
- Enhanced MPD config with 16 MB buffer and 30s curl timeout - Discovered buffer_before_play is deprecated in MPD 0.24.6 - Installed Mopidy with mopidy-mpd extension for MPD protocol compatibility - Configured Mopidy with 15-second GStreamer buffer for smooth radio streaming - Analyzed network quality: baroque sonatas radio has 40ms jitter from Germany MPD limitations: - No pre-buffer control for streams (buffer_before_play deprecated) - Fixed 512 KB curl buffer (not configurable) - No replacement for pre-buffering functionality Mopidy configuration: - buffer_time: 15000ms (15 seconds) - stream timeout: 30000ms - MPD protocol on port 6600 (existing clients work) - HTTP interface on port 6680 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10fix(archsetup): disable problematic slow packagesCraig Jennings
Temporarily disable anki and tageditor packages that cause excessive build times and failures during testing: - anki: hangs for 98+ minutes, missing .gitconfig during cargo build - tageditor: hangs indefinitely building qt5-webengine dependency These packages need to be fixed or replaced before re-enabling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08feat:mbsyncrc: enhance email synchronization configurationCraig Jennings
Add separate channels for Inbox, Sent, Trash, Archive, Starred, and Spam. Enable `Create`, `CopyArrivalDate`, `Sync All`, and `SyncState` options for each channel. Group channels into 'cmail' for organized synchronization. Drafts and All Mail omitted due to ProtonBridge sync errors; accessible via IMAP if needed.
2025-11-08feat:gpg-agent: enhance configuration with SSH support and cachingCraig Jennings
Add settings for SSH support, prolonged passphrase caching, and display preservation. Improve versatility and reliability of gpg-agent.
2025-11-08fix(archsetup): correct invalid sudo syntax in yay installationCraig Jennings
Fixed critical bug at line 336 that blocked all AUR package installations. Changed invalid 'sudo -u $username -D $build_dir' to proper 'cd $build_dir && sudo -u $username' pattern. Also updated TODO.org: - Marked yay bug task as DONE - Created "Resolved Tasks" section - Moved completed task to archive with resolution notes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08feat(ghostty): configure terminal to match st appearanceCraig Jennings
Replace default Ghostty template with custom configuration: - Berkeley Mono font (size 12) with stylistic sets - Colors matching st terminal (gray90 on black, pure ANSI colors) - 0.8 background opacity for transparency - Hide titlebar (gtk-titlebar = false) while keeping window decorations - Block cursor style matching st - Shift+enter keybinding 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08feat: add utility scripts for process and auth managementCraig Jennings
Add two new utility scripts to dotfiles: - clobberall: repeatedly kills all processes with given name - reset-auth: resets GPG and SSH authentication agents Both scripts follow existing conventions with proper headers, usage help, and executable permissions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08feat: add zoxide smart directory navigationCraig Jennings
Add zoxide installation and configuration to archsetup: - Install zoxide via pacman in Developer Workstation section - Create .profile.d/zoxide.sh with zsh initialization - Alias cd to z for smart directory jumping based on usage patterns This enables automatic directory navigation learning across all fresh Arch installs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06update calibre scheduler configCraig Jennings
2025-11-06chore(auth): update encrypted authinfo fileCraig Jennings
Refreshed .authinfo.gpg with latest credentials. No content details displayed due to encryption.
2025-11-06ssh: Add custom log level for cjennings.net hostCraig Jennings
Configure SSH to set LogLevel to ERROR for the cjennings.net host, enhancing security by reducing log verbosity.
2025-11-06adding hey aliasCraig Jennings
2025-11-06add tasks under method org-headers and sorted by priorityCraig Jennings
2025-11-06Create V2MOM strategic framework and migrate TODO.orgCraig Jennings
- Created comprehensive V2MOM with Vision, Values, Methods, Obstacles, Metrics - Converted all 5 methods to prioritized TODO items (96 total tasks) - Enhanced tasks with technical details, line numbers, error messages - Migrated existing TODO.org tasks to V2MOM methods - Moved 16 tasks to someday-maybe, deleted 11 obsolete tasks - Swapped method ordering (Security before Modernization) - TODO.org now contains complete V2MOM as single source of truth 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24added uid/pass to link to org-gcalCraig Jennings
2025-10-17updating tidal-dl configCraig Jennings
2025-10-17updating calibre schedulerCraig Jennings
2025-10-17updating calibre configCraig Jennings
2025-10-17wallpaper: reset default backgroundCraig Jennings
2025-10-17mpd.conf: change replaygain settingCraig Jennings
2025-10-16default mimetype for video files now vlcCraig Jennings
2025-10-16added downgrade functionCraig Jennings
- select installed package to downgrade via fzf - hands off to sudo downgrade
2025-10-12updated tasksCraig Jennings
2025-10-12add org-capture shell scriptCraig Jennings
2025-10-12updated authinfo sourcesCraig Jennings
2025-10-12remove emacs daemon (as we're using systemd now)Craig Jennings
2025-10-05updating tasksCraig Jennings