aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* feat(hyprland): add hy3 tab bar theme colors and boot-time theme applyCraig Jennings2026-01-273-5/+37
| | | | | | | | | 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>
* feat(fuzzel): use dupre red border on pinentry password promptCraig Jennings2026-01-272-2/+2
| | | | | | | | 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>
* feat(dunst): remove border and set font to 10pt to match waybarCraig Jennings2026-01-273-4/+4
| | | | | | | | 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>
* feat(dunst): remove border and match font size to waybarCraig Jennings2026-01-273-5/+5
| | | | | | | 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>
* feat(hyprland): bind mod-f to nautilus instead of ranger scratchpadCraig Jennings2026-01-272-9/+2
| | | | | | | | 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>
* docs(todo): add Hyprland UI tasks, update prioritiesCraig Jennings2026-01-271-2/+10
| | | | | | | 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>
* fix(topgrade): disable lensfun database updateCraig Jennings2026-01-271-1/+1
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(testing): rewrite test infrastructure from libvirt to direct QEMUCraig Jennings2026-01-2714-1111/+816
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* docs(todo): mark completed tasks, add dunst/fuzzel UI tasksCraig Jennings2026-01-271-30/+23
| | | | | | | | 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>
* feat(waybar): add warning/critical color thresholds for temperature and diskCraig Jennings2026-01-276-13/+72
| | | | | | | | 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>
* feat(theme): switch cursor to Bibata Modern IceCraig Jennings2026-01-276-23/+24
| | | | | | 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.
* fix(screenshot): use ISO 8601 date format in filenamesCraig Jennings2026-01-271-1/+1
| | | | | Changed from 2026.01.27-HHMMSS to 2026-01-27_HHMMSS for standard date formatting and clean date/time separation.
* fix(screenshot): explicit mime types for wl-copyCraig Jennings2026-01-271-2/+2
| | | | | Added --type text/plain for path copy and --type image/png for image copy to prevent wl-copy from misinterpreting content.
* feat(hyprland): screenshot script with fuzzel menuCraig Jennings2026-01-273-5/+32
| | | | | | 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).
* fix(hyprland): focus new windows when they openCraig Jennings2026-01-272-2/+4
| | | | | Added focus_on_activate = true to misc section so new windows spawning as master receive keyboard focus immediately.
* fix(waybar): show red network icon when disconnectedCraig Jennings2026-01-275-21/+41
| | | | | Added themed disconnected color to netspeed module CSS across base, dupre, and hudson styles. Changed disconnected label to "Offline".
* fix(waybar): keep volume text readable when mutedCraig Jennings2026-01-274-14/+4
| | | | | Removed #wireplumber.muted color darkening from base, dupre, and hudson waybar CSS. Icon change and "Muted" text are sufficient cues.
* fix(hyprland): open new windows in master areaCraig Jennings2026-01-272-3/+4
| | | | | Changed master layout new_status from slave to master so new windows spawn as master with focus, matching DWM default behavior.
* fix(archsetup): enable BeaconDB for geoclue location serviceCraig Jennings2026-01-271-0/+6
| | | | | Default Mozilla Location Service (Ichnaea) API is defunct (returns 404). Uncomment BeaconDB community replacement URL in geoclue.conf.
* fix(hyprland): fix gammastep geoclue integrationCraig Jennings2026-01-273-21/+5
| | | | | Use [general] section header (not [gammastep]), switch to geoclue2 location provider, and start geoclue demo agent in hyprland.conf.
* chore(todo): reorganize Hyprland task headingsCraig Jennings2026-01-271-156/+174
|
* docs(CLAUDE.md): update project structure and remove stale contentCraig Jennings2026-01-271-38/+34
| | | | | | Reflect current directory layout (assets/, scripts/, inbox/), add theme system section, remove changelog and pending work that belong in NOTES.org.
* chore: move arch-distrobox and wipedisk to scriptsCraig Jennings2026-01-272-0/+0
|
* chore: move spec.org to assetsCraig Jennings2026-01-271-0/+0
|
* fix(scripts): update wireguard config path after renameCraig Jennings2026-01-271-1/+1
|
* feat(assets): add dupre color theme reference and palette generatorCraig Jennings2026-01-275-0/+595
| | | | | Add color-themes/ with dupre palette org doc, PNG swatch image, and ImageMagick generation script. Move old docs to outbox.
* chore(assets): reorganize into outbox and wireguard-configCraig Jennings2026-01-2716-11/+0
| | | | | Move processed inbox files to assets/outbox/, rename assets/wireguard to assets/wireguard-config, delete unused dwm.desktop.
* fix(archsetup): add gammastep geoclue config, remove RDSEED workaroundCraig Jennings2026-01-269-152/+130
| | | | | | | | | | - 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
* fix: move X11-specific configs from common to dwmCraig Jennings2026-01-2614-0/+0
| | | | | | | | | | | | 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>
* docs: update session context with Makefile targetsCraig Jennings2026-01-261-21/+24
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(makefile): allow import to common, dwm, or hyprlandCraig Jennings2026-01-261-26/+40
| | | | | | | | | | | 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>
* fix(makefile): include top-level dotdirs in import selectionCraig Jennings2026-01-261-0/+1
| | | | | | | | | | | 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>
* feat(makefile): add import target, rename adopt to resetCraig Jennings2026-01-261-7/+39
| | | | | | | | | | | | | | | | New targets: - import: Use fzf to select ~/.config and ~/.local dirs to import into dotfiles/common/, then restow to create symlinks - reset: Renamed from adopt - clearer name for "resolve conflicts, keep repo version" Import workflow: 1. fzf multi-select from ~/.config and ~/.local 2. Move selected dirs to dotfiles/common/ 3. Restow common to create symlinks 4. Reminder to git commit Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add Makefile for GNU Stow dotfile managementCraig Jennings2026-01-261-0/+76
| | | | | | | | | | | | | | | | | Targets: - stow: Create symlinks (fresh install) - restow: Refresh symlinks after git pull - adopt: Pull system files, reset to repo version - unstow: Remove all symlinks Usage: make <target> <de> make stow dwm make restow hyprland make adopt dwm Shows help if DE argument missing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(scripts): add org-protocol-setup for Emacs captureCraig Jennings2026-01-261-0/+9
| | | | | | | Minimal script to register org-protocol:// scheme handler. Extracted from resetmimetypes script. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(scripts): remove resetmimetypes scriptCraig Jennings2026-01-261-123/+0
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(scripts): remove 11 unused scripts, fix yt-dlp aliasesCraig Jennings2026-01-2614-211/+32
| | | | | | | | | | | | Removed scripts: - dotfiles_pushall, lsbak, project, protonvpn, steam - sudo-update-grub, sysupdate, transadd, update-backup-repositories - virtstart, ytp (duplicate of alias) Updated yt-dlp aliases in media.sh: - --add-metadata -> --embed-metadata (deprecated option) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(hyprland): remove unused power-menu scriptCraig Jennings2026-01-261-45/+0
| | | | | | Using wlogout for power/session management instead. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(dwm): remove 17 unused X11 scriptsCraig Jennings2026-01-2617-648/+0
| | | | | | | | | | | | | | | | | | | | Keep only scripts actually used or useful for DWM: - airplanemodetoggle - toggle WiFi/Bluetooth - brightness - backlight control (bound to XF86 keys) - colorpick - X11 color picker - dmenuexitmenu - logout/shutdown menu (Mod+Shift+Q) - dmenuunicode - emoji picker - screenshotmenu - screenshot tool - toggle-touchpad - touchpad toggle (Mod+F9) - wallsearch - wallpaper search/download Removed scripts not referenced in DWM config.def.h or sxhkdrc: audioselect, battery_monitor, bookfind, displayselect, dmenuhandler, dmenumount, dmenumountcifs, dmenurecord, dmenuumount, exitmenu, monitor, prompt, recordnow, remaps, samedir, setbg, td-toggle Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(dwm): remove unused dwmblocks statusbar scriptsCraig Jennings2026-01-2625-835/+0
| | | | | | | | | Delete 24 sb-* scripts in statusbar/ directory - dwmblocks is not installed or used. Also removes sublime-merge config (manual install, not in archsetup). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(scripts): remove lf scripts, update yt-dlp optionCraig Jennings2026-01-263-44/+1
| | | | | | | - Remove lfrun and lfub (lf file manager not installed, using ranger) - Update ytp script: --add-metadata -> --embed-metadata Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(dotfiles): add yt-dlp config with modern optionsCraig Jennings2026-01-261-0/+20
| | | | | | | | | Replaces old youtube-dl config with yt-dlp equivalent using updated option names: - --add-metadata -> --embed-metadata - --format best -> --format bestvideo+bestaudio/best Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor(dotfiles): rename system/ to common/ and remove unused configsCraig Jennings2026-01-26706-1620/+18
| | | | | | | | | | | | | | | | | | | | | Rename dotfiles/system to dotfiles/common for clarity - indicates shared dotfiles used across all desktop environments (DWM, Hyprland). Removed config directories for uninstalled applications: - ghostty (using different terminal) - lf (using ranger instead) - mopidy (using mpd instead) - nitrogen (X11-only, obsolete for Wayland) - pychess (not installed) - JetBrains (not installed via archsetup) - youtube-dl (using yt-dlp with different config location) Kept audacious config for potential future use. Updated all references in archsetup, CLAUDE.md, todo.org, and validation.sh. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: update session context with script reorganizationCraig Jennings2026-01-261-12/+37
|
* refactor(scripts): reorganize scripts by desktop environmentCraig Jennings2026-01-2658-91/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move X11/DWM-specific scripts to dotfiles/dwm/.local/bin/: - All dmenu* scripts (7) - All statusbar/sb-* scripts (24) - Display scripts: brightness, displayselect, monitor, colorpick - Input scripts: remaps, toggle-touchpad, samedir - Menu scripts: exitmenu, prompt, airplanemodetoggle, audioselect - Media scripts: screenshotmenu, recordnow, setbg, wallsearch, bookfind - Misc: battery_monitor, td-toggle Delete obsolete scripts: - build.emacs.aur.sh (redundant with build-emacs.sh) - bsdnet_bounce (FreeBSD only) - calibre-install (just curls installer) - debugemacs (hardcoded paths) - gruv (duplicate of alias) - reset-auth (unclear purpose) - touchpad-indicator-start (obsolete daemon) - starth (unused Hyprland starter) Universal scripts remain in dotfiles/system/.local/bin/ for both X11 and Wayland installs. Also update todo.org: cancel pywal and waybar netspeed tasks, mark desktop file pruning done. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore: update config files and todoCraig Jennings2026-01-264-10/+10
| | | | Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor(shell): reorganize shell config for proper separationCraig Jennings2026-01-2631-802/+1379
| | | | | | | | | | | | | | | | | | | | | | | | Restructure shell configuration to follow standard conventions: - .profile: Environment variables only (POSIX compatible) - .bash_profile: NEW - sources .profile and .bashrc for login shells - .bashrc: Bash-specific settings, sources .bashrc.d/ - .zshrc: Zsh-specific settings, sources .zshrc.d/ New modular directories: - .bashrc.d/: aliases, emacs, fzf, git, media, utilities - .zshrc.d/: same as bashrc.d plus arch-downgrade (zsh-only) - .profile.d/: reduced to env-only files (display, framework, auto-tmux) Fixes: - Remove duplicate .profile sourcing in .bashrc - Remove broken XDG_CURRENT_DESKTOP=GNOME line from display.sh - Move aliases/functions from .profile to appropriate .d/ directories - Shell-specific init (zoxide, fzf) now in .bashrc/.zshrc directly - FreeBSD bindkey fix now in .zshrc directly Also adds CLAUDE.md session context file. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(themes): add Qt theming and font packagesCraig Jennings2026-01-265-2/+37
| | | | | | | | | | | | - Configure Qt5/Qt6 to use Adwaita-Dark style via adwaita-qt - Add qt6ct.conf with matching settings to qt5ct - Set QT_STYLE_OVERRIDE for consistent dark theme - Add XCURSOR_THEME to hyprland.conf - Update pinentry-dmenu to use BerkeleyMono Nerd Font - Add font packages to archsetup: cantarell-fonts, ttf-caladea, ttf-carlito, ttf-croscore Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor(mimetypes): clean up resetmimetypes scriptCraig Jennings2026-01-261-233/+61
| | | | | | | | | | | | - Add shebang - Fix nsxiv → feh for images - Fix typo in image/jpeg MIME type - Fix Transmission desktop file name - Change web handler from Firefox to Chrome - Remove commented cruft (296 → 124 lines) - Trim redundant LibreOffice/VLC MIME types Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(hyprland): prune app menu and switch to Nautilus file managerCraig Jennings2026-01-2696-163/+208
| | | | | | | | | | | | | - Add 90 desktop file overrides (NoDisplay=true) to hide unwanted apps - Switch file manager from Thunar to Nautilus in hyprland.conf and sxhkdrc - Update resetmimetypes script to use Nautilus for directories - Remove Thunar config (accels.scm, uca.xml) - Remove unused torrent.desktop - Add hyprland.sh profile with Wayland environment overrides - Rename calibre-ebook-viewer to "Calibre E-book Viewer" in menu - Update gammastep to gammastep-indicator for tray control Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>