summaryrefslogtreecommitdiff
path: root/dotfiles
AgeCommit message (Collapse)Author
16 hoursfeat(hyprland): add satty screenshot annotation and hyprpickerCraig Jennings
Replace direct grim saves with satty annotation workflow for screenshots. Add hyprpicker color picker on mod+C (freed from duplicate qalculate binding). Add both packages to archsetup.
16 hoursfeat(themes): apply Dupre theme to Hyprland dotfilesCraig Jennings
Update foot, hyprlock, waybar, Xresources, and dunst configs with warm earthy colors from dupre-theme.el. Standardize on BerkeleyMono font across terminal configs.
18 hoursfeat(themes): add hyprlock and Xresources to theme systemCraig Jennings
Add themed configs for: - hyprlock.conf: lock screen colors match theme - Xresources: X11 apps and Emacs color support Update set-theme script to copy these files and run xrdb. Hudson uses adjusted bright yellow (#e0b040) for gold cohesion. Removed gruvbox references from Xresources. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 hoursfeat(hyprland): add theme switching between dupre and hudsonCraig Jennings
Add two complete themes: - dupre: warm earthy colors from Emacs dupre-theme.el - hudson: Tomorrow Night + Goldenrod accent (original) Theme files cover: foot, fuzzel, waybar, dunst, hyprland borders. Add set-theme script with: - set-theme <name>: apply a theme - set-theme --toggle: switch between themes - set-theme --pick: fuzzel picker Keybindings: - $mod Y: toggle theme - $mod Shift Y: pick theme with fuzzel Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 hoursfeat(waybar): redesign network module with connection type iconsCraig Jennings
Show WiFi icon (with signal strength) + SSID, or ethernet icon + interface name. Move upload/download speeds to tooltip for cleaner display. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
20 hoursfeat(hyprland): change focus mode keybindings to mod+OCraig Jennings
Change xtra-dispatchers plugin keybindings from Z to O for better ergonomics. Mnemonic: O = Only/Others (throw unfocused, bring back, close others). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
20 hoursfix(hyprland): preserve j/k direction in master layoutCraig Jennings
Swap directions only in scrolling layout, not master. - Master: J=next (down), K=prev (up) - original behavior - Scrolling: J=left, K=right - swapped for intuitive scroll Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
20 hoursfeat(hyprland): add plugins and simplify layoutsCraig Jennings
Plugins installed via hyprpm: - hy3: i3-style manual tiling with tab groups (monocle) - hyprscrolling: PaperWM-style horizontal scrolling - xtra-dispatchers: throwunfocused, bringallfrom, closeunfocused Layout system simplified to 4 modes: - Master (tile) - default DWM-style - Tab group (monocle) - via hy3 plugin - Scrolling - horizontal columns - Floating New scripts: - layout-navigate: layout-aware j/k navigation - Updated cycle-layout: cycles through 4 layouts - Updated waybar-layout: icons for new layouts Other changes: - Add hyprpm reload to startup - Add cpio and fc-cache to archsetup - Remove SSH fuzzel picker (conflicted with scrolling keybind) - Add slidevert animation for scratchpads - Update todo.org with plugin evaluation notes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
21 hoursfeat(waybar): enhance status bar with icons, modules, and interactivityCraig Jennings
- Add nerd font icons (large size) for cpu, memory, disk, temperature, volume - Add temperature module next to CPU in sysmonitor group - Add battery module with warning/critical states - Add custom netspeed module with fixed-width output and SSID tooltip - Add layout indicator with clickable cycling through layouts - Add window title module to left panel - Add network scratchpad with nmtui (click netspeed to toggle) - Add toggle-scratchpad script to handle focus-loss auto-close - Make sysmonitor modules clickable to toggle monitor scratchpad - Add right-click on volume to toggle audio scratchpad - Update clock format to "Sun, Jan 25 2025 08:04 PM CST" - Remove nm-applet from autostart (replaced by nmtui scratchpad) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
22 hoursfeat(hyprland): add fuzzel launcher and pinentry-fuzzelCraig Jennings
- Replace wofi with fuzzel in archsetup - Add fuzzel config with waybar-matching theme - Add pinentry-fuzzel script for GPG passphrase prompts - Add Hyprland-specific gpg-agent.conf using pinentry-fuzzel
23 hoursfeat(hyprland): update gaps, launcher, and focus settingsCraig Jennings
- Increase default gaps (in=25, out=30) - Add mod+shift+- to close all gaps - Replace wofi with fuzzel for app launcher - Disable follow_mouse for better laptop experience - Update exit menu to use fuzzel
23 hoursfeat(hyprlock): add profile image and proportional layoutCraig Jennings
- Add profile image widget with goldenrod border - Use 12hr time format ($TIME12) - Use percentage-based positioning for multi-monitor support - Remove input field outline, add rounded corners - Update fonts to BerkeleyMono Nerd Font
24 hoursfix(hyprland): correct gaps keybindings for custom valuesCraig Jennings
Parse gaps_out/gaps_in using jq '.custom' instead of '.int'. Adjust both gaps_out and gaps_in together for consistent spacing.
24 hoursfeat(dotfiles): add Berkeley Mono Nerd Font and update waybarCraig Jennings
Add patched Berkeley Mono Nerd Font files with icon glyphs. Update waybar style.css to use BerkeleyMono Nerd Font.
27 hoursfeat(hyprland): add mod+shift+p keybind for waypaperCraig Jennings
Launch wallpaper selector GUI with mod+shift+p. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfix(hyprland): focus follows swapped window to masterCraig Jennings
Add 'master' parameter to swapwithmaster so focus moves with the swapped window instead of staying on the original position. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfix(waybar): use text labels instead of nerd font iconsCraig Jennings
Replace nerd font icons with text labels (CPU, MEM, DSK) since Berkeley Mono isn't a nerd font. Update font-family to prefer JetBrainsMono Nerd Font for future icon support. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfeat(hyprland): add rounded corners to windowsCraig Jennings
Set rounding = 10 in decoration section for rounded window corners. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 hoursfix(hyprland): use movetoworkspacesilent to stay on current workspaceCraig Jennings
27 hoursfeat(waybar): implement Hyprland-Rice inspired configCraig Jennings
Clean minimal design with DWM color scheme: - Transparent bar with solid module groups - Golden accent border (#daa520) - Group/sysmonitor for cpu, memory, disk - Wireplumber audio with click/scroll controls - Hover transitions, box shadows - Berkeley Mono font
28 hoursfix(hyprland): rewrite scratchpads with on-created-emptyCraig Jennings
- Use workspace rules with on-created-empty for auto-launch - Single keybind per scratchpad (no more pgrep hacks) - Use --app-id for reliable class matching - Update to Hyprland 0.53+ windowrule syntax (match:class) - Fix size rules to use expressions: (monitor_w*0.6) (monitor_h*0.6)
28 hoursfeat(hyprland): add foot terminal configurationCraig Jennings
Berkeley Mono size 14, DWM-inspired color scheme, 10k scrollback
29 hoursfix(hyprland): update windowrule syntax and keybindingsCraig Jennings
- Convert deprecated windowrulev2 to new windowrule syntax with match: prefix - Fix $mod+h/l to use splitratio instead of resizeactive for master sizing - Add missing DWM layout keybindings (bstack, deck, centeredmaster) - Fix scratchpad st commands to use -t for title matching - Update window class matching to st-256color
30 hoursfix(archsetup): remove btrfs snapshot tools and ZFS scriptsCraig Jennings
Remove timeshift-autosnap and grub-btrfs from btrfs installation path. Delete lkg and lkg_rollback ZFS utility scripts from dotfiles.
47 hoursfeat(archsetup): add Hyprland/Wayland desktop environment supportCraig Jennings
- Add DESKTOP_ENV config variable (dwm/hyprland/none, default: hyprland) - Create wayland() and hyprland() installation functions - Add display_server/window_manager conditional step wrappers - Create dotfiles/hyprland/ with full config suite: - hyprland.conf with keybindings translated from DWM + sxhkd - waybar config matching conky status bar - hypridle/hyprlock for screen locking - wofi config matching rofi theme - gammastep config for Wayland (replaces redshift) - Add Hyprland validation tests to validation.sh - Update archsetup.conf.example with DESKTOP_ENV option
2 daysfix(testing): relax UFW tests for VM environmentCraig Jennings
VM lacks iptables kernel modules so UFW cannot activate. Tests now only verify UFW is enabled rather than active.
3 daysfix(archsetup): add PAM config for gnome-keyring auto-unlockCraig Jennings
Configure /etc/pam.d/login to pass login password to gnome-keyring-daemon, enabling automatic keyring unlock on console login + startx workflow.
4 daysfix(archsetup): add system config improvements and gnome-keyring setupCraig Jennings
- Enable chrony service and create /etc/sysconfig/chronyd to suppress warning - Configure wireless regulatory domain (US) for full WiFi capabilities - Configure paccache to retain 3 package versions - Pre-create gnome-keyring with 'login' default (auto-unlocks at login) - Add rtkit package for pipewire realtime scheduling - Add validation test for gnome-keyring setup - Add system action .desktop files (logout, shutdown, reboot, suspend, lock)
5 daysfix(dotfiles): update for ratio desktopCraig Jennings
- Set Xresources DPI to 109 for ultrawide monitor - Remove deno environment setup (no longer using)
5 daysfix(archsetup): increase GRUB timeout and switch syncthing to user serviceCraig Jennings
- GRUB_TIMEOUT 0→2 seconds for menu access - Syncthing: system service → user service with lingering to prevent lock conflicts - Update airplanemodetoggle for user service - Update validation to check lingering instead of system service
7 daysfix(archsetup): chown tmpfs mount point instead of parent dirCraig Jennings
- Fixed permission bug where source_dir tmpfs was owned by root - Remove zfssnapshot and zfsrollback (now in archzfs ISO)
8 daysUpdate ZFS scripts for archzfs compatibilityCraig Jennings
zfssnapshot: - Change date format to YYYY-MM-DD_HH-MM-SS_description (matches pre-pacman snapshot format for consistent sorting) - Convert spaces to underscores instead of hyphens - Add GRUB menu regeneration after snapshot creation zfsrollback: - Add special warning for genesis rollback - Add GRUB menu regeneration after successful rollback (removes destroyed snapshots from boot menu) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9 daysfix(zfsrollback): sort snapshots with newest firstCraig Jennings
9 daysfeat(dotfiles): add zfssnapshot and zfsrollback utilitiesCraig Jennings
- zfssnapshot: create dated snapshots across all pools with description - zfsrollback: fzf-based snapshot selection with multi-dataset rollback - Both require root and validate input/show appropriate warnings
9 daysdotfiles: update hey alias, add phenom RAG functionCraig Jennings
9 daysdotfiles: ai-assistants prompt and formatting improvementsCraig Jennings
9 daysdotfiles: qalculate expression history updateCraig Jennings
9 daysdotfiles: calibre scheduler state updateCraig Jennings
13 daysdotfiles: caffeine-ng fix, redshift improvements, ai-assistants updateCraig Jennings
- xinitrc: replace caffeine/caffeine-indicator with caffeine start - redshift: improve night settings (4500K, no dimming), add comments - ai-assistants: read protocols.org before NOTES.org - thunar/calibre: minor auto-generated config updates
2026-01-10session: fix ai-assistants tilde expansion for tmux -c optionCraig 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>
2026-01-09session: 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-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): 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-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-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-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.