summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
11 hoursfeat(dotfiles): add easyeffects UI configHEADmainCraig Jennings
11 hoursfix(dotfiles): move easyeffects presets to correct locationCraig Jennings
EasyEffects stores presets in ~/.local/share/easyeffects/output/, not ~/.config/easyeffects/output/. Moved presets to correct path.
11 hoursfeat(dotfiles): add btop, wavemon, waypaper configsCraig Jennings
- btop: resource monitor configuration - wavemon: wifi signal monitor configuration - waypaper: wallpaper picker configuration (Hyprland)
11 hoursfeat(hyprland): add monitor-dashboard, remove htop scratchpadCraig Jennings
- Monitor scratchpad now launches monitor-dashboard (tmux session with btop, s-tui, nvtop, duf, bandwhich, wavemon, powertop) - Remove htop scratchpad ($mod+Shift+H now free)
11 hoursfix(dotfiles): remove vim=nvim aliasCraig Jennings
Use vim directly instead of aliasing to neovim.
11 hoursfeat(archsetup): add packages and fix vi->vimCraig Jennings
Hyprland utilities: - Add waypaper (wallpaper GUI, swww frontend) - Add wlogout-git (logout menu) Monitoring tools: - Add btop, nvtop, s-tui, wavemon, bandwhich - Remove gotop-bin (replaced by btop) Qt theming: - Add adwaita-qt5, adwaita-qt6 for consistent Qt/GTK appearance Btrfs snapshots: - Add snap-pac for automatic snapshots on pacman transactions Fix: - Change vi to vim (vi package doesn't exist in repos)
11 hoursfeat(Makefile): add deps target for project dependenciesCraig Jennings
Installs stow, fzf for Makefile targets and qemu-full, virt-manager, libguestfs, bridge-utils, dnsmasq, archiso, sshpass, socat for VM testing.
12 hoursfix(archsetup): remove thunar in favor of nautilusCraig Jennings
Nautilus was added as the file manager. Thunar was redundant and caused D-Bus duplicate name warnings for org.freedesktop.FileManager1.
13 hoursfeat(hyprland): add TTY1 auto-start with crash recoveryCraig Jennings
Auto-starts Hyprland on TTY1 login while preserving console access if Hyprland crashes. Uses no exec so shell stays alive as parent process. Skip with touch ~/.skip-hyprland. Silent launch with logging to ~/.local/var/log/.
17 hoursfix(hyprland): resolve waybar 25s startup delay and separate X11 dotfilesCraig Jennings
- Add portals.conf with Settings=none to prevent D-Bus timeout - Reorder exec-once: portal/dbus first, then services, then apps - Move X11-specific dotfiles from common/ to dwm/ (Xresources, xinitrc, picom, redshift, conky, flameshot, touchpad-indicator) - Delete obsolete xdg-desktop-portal-gtk drop-in from common/
18 hoursfeat(hyprland): add easyeffects EQ presets and autostartCraig Jennings
- Add Harman EQ presets for DT770, PXC 550-II, and Pixel Buds Pro 2 - Start easyeffects minimized on Hyprland startup - Move preset docs and install script to assets/
18 hoursfix(hyprland): add persistent logging and fix waybar/script issuesCraig Jennings
- Add persistent logging for waybar, dunst, hypridle, gammastep to ~/.local/var/log/ - Create start-hyprland wrapper script for Hyprland logging - Fix waybar-layout and toggle-scratchpad to auto-detect Hyprland socket - Add swap-icon-label: false to waybar group, remove height setting - Fix GTK CSS margin units (1 → 1px) to silence deprecation warning - Add battery detection in archsetup to exclude module on desktops - Update cursor theme to Bibata-Modern-Ice size 24
24 hoursfeat(archsetup): add easyeffects, nautilus extensions, and WS-DiscoveryCraig Jennings
Add easyeffects to audio section, nautilus/sushi/nautilus-open-any-terminal to hyprland section, wsdd and gvfs-wsdd for SMB network discovery. Add easyeffects scratchpad on mod+shift+a in hyprland config.
26 hoursfeat(testing): add make test target and display report on completionCraig Jennings
Add 'make test' Makefile target to run full VM integration test suite. Print test report to terminal after generation for immediate visibility.
27 hoursfeat(hyprland): add focus-restore script to preserve master on mod+shift+oCraig Jennings
The xtra-dispatchers bringallfrom dispatcher doesn't preserve window positions, displacing the focused window from master. The new script captures the focused window address, brings all windows back, then swaps the original window back to master. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfix(mbsync): update cmail password file pathCraig Jennings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfeat(hyprland): speed up animations from 3 to 2Craig Jennings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursdocs(todo): add task to review theme config architectureCraig Jennings
The dunst/fuzzel configs exist in both dotfiles/common (stowed) and dotfiles/hyprland/.config/themes/ (templates), requiring edits in multiple places. Needs a cleaner single-source-of-truth approach. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursfeat(hyprland): add hy3 tab bar theme colors and boot-time theme applyCraig Jennings
Add static plugin { hy3 { tabs { ... } } } block with full color set including border, focused, and darkened inactive tab colors. Eliminates default cyan borders. Update set-theme with matching colors for both dupre and hudson themes. Add exec-once set-theme to reapply theme on boot. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursfeat(fuzzel): use dupre red border on pinentry password promptCraig Jennings
Add --border-color=d47c59ff (dupre red) and widen from 25 to 35 characters in pinentry-fuzzel so the password dialog stands out from normal fuzzel usage and accommodates longer passwords. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursfeat(dunst): remove border and set font to 10pt to match waybarCraig Jennings
Set frame_width to 0 and font size to 10pt (≈13.3px) across all three dunstrc files (common, dupre theme, hudson theme) to visually match waybar's 14px CSS font size. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursfeat(dunst): remove border and match font size to waybarCraig Jennings
Set frame_width to 0 (no border) and font size from 13 to 14 in both dupre and hudson theme dunstrc files, matching waybar's 14px text size. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 hoursfeat(hyprland): bind mod-f to nautilus instead of ranger scratchpadCraig Jennings
Removed the foot-files ranger scratchpad (workspace rule, keybinding, window rules) and the redundant CTRL+ALT+F nautilus binding. mod-F now launches nautilus directly as a regular window. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 hoursdocs(todo): add Hyprland UI tasks, update prioritiesCraig Jennings
Add nautilus keybinding, monocle tab-group theming, dunst text sizing, and bump fuzzel/dunst tasks to priority B. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 hoursfix(topgrade): disable lensfun database updateCraig Jennings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 hoursfeat(testing): rewrite test infrastructure from libvirt to direct QEMUCraig Jennings
Replace the never-fully-operational libvirt-based VM test infrastructure with direct QEMU management and archangel ISO for fully automated, unattended base VM creation. Key changes: - vm-utils.sh: complete rewrite — QEMU process mgmt via PID file, monitor socket for graceful shutdown, qemu-img snapshots, SSH port forwarding (localhost:2222) - create-base-vm.sh: boots archangel ISO, SSHs in, runs unattended install via config file, verifies, creates clean-install snapshot - run-test.sh: snapshot revert, git bundle transfer, detached archsetup execution with setsid, polling, validation, and report generation - debug-vm.sh: CoW overlay disk, GTK display, auto-cleanup on close - setup-testing-env.sh: reduced deps to qemu-full/sshpass/edk2-ovmf/socat - cleanup-tests.sh: PID-based process management, orphan detection - validation.sh: port-based SSH (backward compatible), fuzzel/foot for Hyprland, corrected package list paths - network-diagnostics.sh: getent/curl instead of nslookup/ping (SLIRP) New files: - archsetup-test.conf: archangel config for base VM (btrfs, no encrypt) - archsetup-vm.conf: archsetup config for unattended test execution - assets/archangel.conf.example: reference archangel config Deleted: - finalize-base-vm.sh: merged into create-base-vm.sh - archinstall-config.json: replaced by archangel .conf format Tested: full end-to-end run — 51 validations passed, 0 failures. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 hoursdocs(todo): mark completed tasks, add dunst/fuzzel UI tasksCraig Jennings
Mark done: temperature/storage waybar thresholds, dotfiles cleanup, dotfiles reorganization. Cancel rofi-wayland (chose fuzzel). Add new tasks for dunst border removal and fuzzel border visibility. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 hoursfeat(waybar): add warning/critical color thresholds for temperature and diskCraig Jennings
Temperature turns yellow at 70°C, red at 80°C using built-in waybar states. Disk replaced with custom script that turns yellow at 80% full, red at 90%, working across ZFS/btrfs/ext4. Colors themed per dupre/hudson. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 hoursfeat(theme): switch cursor to Bibata Modern IceCraig Jennings
Replaced Vimix/Capitaine cursors with Bibata-Modern-Ice across all config locations: hyprland.conf, dupre/hudson Xresources, GTK settings, and archsetup package list. Standardized cursor size to 24.
40 hoursfix(screenshot): use ISO 8601 date format in filenamesCraig Jennings
Changed from 2026.01.27-HHMMSS to 2026-01-27_HHMMSS for standard date formatting and clean date/time separation.
40 hoursfix(screenshot): explicit mime types for wl-copyCraig Jennings
Added --type text/plain for path copy and --type image/png for image copy to prevent wl-copy from misinterpreting content.
40 hoursfeat(hyprland): screenshot script with fuzzel menuCraig Jennings
Replaced inline grim/satty keybindings with screenshot script that captures to file then presents fuzzel menu: Copy Path, Copy Image, or Annotate. Bindings: $mod+S (region), $mod+Print (fullscreen).
41 hoursfix(hyprland): focus new windows when they openCraig Jennings
Added focus_on_activate = true to misc section so new windows spawning as master receive keyboard focus immediately.
41 hoursfix(waybar): show red network icon when disconnectedCraig Jennings
Added themed disconnected color to netspeed module CSS across base, dupre, and hudson styles. Changed disconnected label to "Offline".
41 hoursfix(waybar): keep volume text readable when mutedCraig Jennings
Removed #wireplumber.muted color darkening from base, dupre, and hudson waybar CSS. Icon change and "Muted" text are sufficient cues.
41 hoursfix(hyprland): open new windows in master areaCraig Jennings
Changed master layout new_status from slave to master so new windows spawn as master with focus, matching DWM default behavior.
41 hoursfix(archsetup): enable BeaconDB for geoclue location serviceCraig Jennings
Default Mozilla Location Service (Ichnaea) API is defunct (returns 404). Uncomment BeaconDB community replacement URL in geoclue.conf.
41 hoursfix(hyprland): fix gammastep geoclue integrationCraig Jennings
Use [general] section header (not [gammastep]), switch to geoclue2 location provider, and start geoclue demo agent in hyprland.conf.
41 hourschore(todo): reorganize Hyprland task headingsCraig Jennings
42 hoursdocs(CLAUDE.md): update project structure and remove stale contentCraig Jennings
Reflect current directory layout (assets/, scripts/, inbox/), add theme system section, remove changelog and pending work that belong in NOTES.org.
42 hourschore: move arch-distrobox and wipedisk to scriptsCraig Jennings
42 hourschore: move spec.org to assetsCraig Jennings
42 hoursfix(scripts): update wireguard config path after renameCraig Jennings
42 hoursfeat(assets): add dupre color theme reference and palette generatorCraig Jennings
Add color-themes/ with dupre palette org doc, PNG swatch image, and ImageMagick generation script. Move old docs to outbox.
42 hourschore(assets): reorganize into outbox and wireguard-configCraig Jennings
Move processed inbox files to assets/outbox/, rename assets/wireguard to assets/wireguard-config, delete unused dwm.desktop.
2 daysfix(archsetup): add gammastep geoclue config, remove RDSEED workaroundCraig Jennings
- Add gammastep to geoclue whitelist (fixes "unable to obtain geoclue client path" error on Hyprland launch) - Remove is_amd_zen5() detection and Hardware Workarounds section (clearcpuid=rdseed doesn't suppress the kernel warning) - Add dismissnotify after hyprpm reload to suppress plugin notifications - Update theme configs from Dupre to Hudson - Update todo.org with RDSEED task resolution
2 daysfix: move X11-specific configs from common to dwmCraig Jennings
Move files that are specific to DWM/X11 setups: - gpg-agent.conf (uses pinentry-dmenu) - pinentry-dmenu.conf - Desktop files using X11 tools (st, slock, sxiv, etc.) These conflict with hyprland equivalents and should only be stowed on DWM systems. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2 daysdocs: update session context with Makefile targetsCraig Jennings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2 daysfeat(makefile): allow import to common, dwm, or hyprlandCraig Jennings
Import now requires destination: make import common # Import to shared configs make import dwm # Import to DWM-specific make import hyprland # Import to Hyprland-specific Prompt and header now show destination. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2 daysfix(makefile): include top-level dotdirs in import selectionCraig Jennings
Import now searches: - ~/.* (top-level dotdirs like .emacs.d, .ssh) - ~/.config/* - ~/.local/* Excludes .cache, .local, .config from top-level (they're handled separately). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>