summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* feat(waybar): enhance status bar with icons, modules, and interactivityCraig Jennings2026-01-257-16/+252
| | | | | | | | | | | | | | | | | - 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>
* docs(todo): mark Hyprland issues done, add theming taskCraig Jennings2026-01-251-6/+17
| | | | | - Mark fixed: scratchpads, wallpaper, foot -T, pulsemixer sizing, waybar clock - Add task for modularizing theming across apps
* feat(hyprland): add fuzzel launcher and pinentry-fuzzelCraig Jennings2026-01-254-1/+157
| | | | | | | - 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
* feat(hyprland): update gaps, launcher, and focus settingsCraig Jennings2026-01-251-8/+9
| | | | | | | | - 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
* feat(hyprlock): add profile image and proportional layoutCraig Jennings2026-01-251-29/+49
| | | | | | | | - 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
* docs(todo): add nerd font patching and archsetup test tasksCraig Jennings2026-01-251-0/+20
| | | | | | Add task for patching Berkeley Mono with nerd-fonts patcher. Add task for testing archsetup username/password prompts. Add idea for show desktop toggle via empty special workspace.
* fix(hyprland): correct gaps keybindings for custom valuesCraig Jennings2026-01-251-3/+3
| | | | | Parse gaps_out/gaps_in using jq '.custom' instead of '.int'. Adjust both gaps_out and gaps_in together for consistent spacing.
* feat(dotfiles): add Berkeley Mono Nerd Font and update waybarCraig Jennings2026-01-255-1/+1
| | | | | Add patched Berkeley Mono Nerd Font files with icon glyphs. Update waybar style.css to use BerkeleyMono Nerd Font.
* feat(hyprland): add mod+shift+p keybind for waypaperCraig Jennings2026-01-251-0/+1
| | | | | | Launch wallpaper selector GUI with mod+shift+p. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(hyprland): focus follows swapped window to masterCraig Jennings2026-01-251-1/+1
| | | | | | | 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>
* docs(todo): add favorite reference repos and waybar volume issueCraig Jennings2026-01-251-0/+22
| | | | | | | | | | | Add favorite Hyprland/Waybar reference repos section: - Hyprland-Rice (currently implemented) - hyprcraft (archived) - BlackNode (latest version of hyprcraft) Also add waybar wireplumber volume control issue to tracking. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(waybar): use text labels instead of nerd font iconsCraig Jennings2026-01-252-4/+4
| | | | | | | | 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>
* feat(hyprland): add rounded corners to windowsCraig Jennings2026-01-251-1/+1
| | | | | | Set rounding = 10 in decoration section for rounded window corners. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs(todo): add pywal theming and waybar issuesCraig Jennings2026-01-251-0/+16
|
* fix(hyprland): use movetoworkspacesilent to stay on current workspaceCraig Jennings2026-01-251-10/+10
|
* feat(waybar): implement Hyprland-Rice inspired configCraig Jennings2026-01-252-53/+106
| | | | | | | | | | 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
* chore: add reference-repos to gitignoreCraig Jennings2026-01-251-0/+3
|
* fix(hyprland): rewrite scratchpads with on-created-emptyCraig Jennings2026-01-251-47/+56
| | | | | | | | - 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)
* feat(archsetup): add interactive username/password promptsCraig Jennings2026-01-252-14/+57
| | | | | | | | | Replace hardcoded "welcome" password with interactive prompts during preflight checks. Fixes gnome-keyring password mismatch issue. - Username validation (lowercase, starts with letter, alphanumeric) - Password confirmation (enter twice, must match) - Remove forced password change on first login (chage -d 0)
* docs(todo): add Hyprland config issues taskCraig Jennings2026-01-251-0/+20
| | | | Track outstanding issues: scratchpads, wofi dismiss, wallpaper
* feat(hyprland): add foot terminal configurationCraig Jennings2026-01-251-0/+38
| | | | Berkeley Mono size 14, DWM-inspired color scheme, 10k scrollback
* fix(hyprland): update windowrule syntax and keybindingsCraig Jennings2026-01-251-35/+48
| | | | | | | | - 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
* fix(archsetup): remove btrfs snapshot tools and ZFS scriptsCraig Jennings2026-01-253-36/+2
| | | | | Remove timeshift-autosnap and grub-btrfs from btrfs installation path. Delete lkg and lkg_rollback ZFS utility scripts from dotfiles.
* fix(testing): remove obsolete --skip-slow-packages optionCraig Jennings2026-01-242-28/+6
| | | | This flag was removed from archsetup but remained in test scripts.
* feat(archsetup): add Hyprland/Wayland desktop environment supportCraig Jennings2026-01-2411-3/+778
| | | | | | | | | | | | | | - 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
* docs(todo): add Hyprland planning tasksCraig Jennings2026-01-241-0/+15
| | | | | | - Add NVIDIA preflight check task - Add DESKTOP_ENV default validation task - Add dotfile repos review task
* fix(testing): relax UFW tests for VM environmentCraig Jennings2026-01-242-12/+9
| | | | | VM lacks iptables kernel modules so UFW cannot activate. Tests now only verify UFW is enabled rather than active.
* fix(archsetup): code cleanup and style fixesCraig Jennings2026-01-242-21/+15
| | | | | | | | - Remove commented-out reflector code (timer handles updates) - Fix arithmetic expressions (remove unnecessary inner $) - Simplify file truncation (: > instead of cat /dev/null >) - Fix Xorg heredoc indentation - Add shellcheck bulk cleanup as priority D task
* fix(archsetup): bug fixes, locale support, and code improvementsCraig Jennings2026-01-245-115/+356
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fixes: - Initialize errors_encountered at script start (not in intro) - Capture correct exit code in retry_install loop - Add missing error_fatal parameters - Fix unclosed quote in error message - Quote variables in pacman_install/aur_install commands - Standardize done statements (remove trailing semicolons) New features: - Locale selection prompt with 8 common options + custom entry - Auto-derive wireless region from locale - Extract zfs-replicate to separate script file - Make archsetup repo URL configurable - Add MulticastDNS=no to avoid avahi conflict Code improvements: - Single STEPS array for show_status and main execution loop - Document security note for config file sourcing - Add explanatory comment for UFW VM behavior - Silence update-desktop-database warnings Config updates: - Add LOCALE and ARCHSETUP_REPO to example config Also adds Wayland/Hyprland desktop alternative to V2MOM roadmap.
* prune(archsetup): remove valent packageCraig Jennings2026-01-231-1/+0
| | | | | | Build time too long for limited utility. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor(archsetup): improve code architecture and error handlingCraig Jennings2026-01-232-149/+171
| | | | | | | | | | | | | | - Split error() into error_warn() and error_fatal() for clarity - Add retry_install() helper to eliminate DRY violation - Make repo URLs configurable via config file - Add section headers for better code organization: - Output & Logging, Installation Helpers, System Detection, System Configuration - Standardize function definition style (no space before parens) - Clean up display() function (remove semicolons, fix spacing) - Remove legacy error() wrapper Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* prune(archsetup): remove podman, use docker for distroboxCraig Jennings2026-01-231-2/+1
|
* prune(archsetup): remove redundant and unused packagesCraig Jennings2026-01-231-7/+0
| | | | | | | | | | | Remove overlapping/unused packages: - librewolf-bin (commented out) - the_silver_searcher (ripgrep is faster) - dfc (duf is better) - p7zip (7zip is newer) - neovim (use emacs) - boxbuddy (just GUI for distrobox) - tageditor (commented out, build issues)
* prune(archsetup): remove unused packagesCraig Jennings2026-01-231-5/+0
| | | | | | | | Remove packages that aren't actively used: - pycharm-community-edition (use emacs for Python) - mcomix (comic book reader) - figlet, figlet-fonts (ASCII art text) - ledger (CLI accounting)
* fix(archsetup): add btrfs detection, don't assume non-ZFS is btrfsCraig Jennings2026-01-231-2/+11
| | | | | | - Add is_btrfs_root() function - Only install timeshift-autosnap and grub-btrfs on btrfs systems - Skip snapshot tools on ext4/other filesystems
* feat(archsetup): add config file support for unattended installsCraig Jennings2026-01-232-4/+72
| | | | | | | | | - Add --config-file PATH CLI flag - Add load_config() function to source config variables - Support USERNAME, PASSWORD, AUTOLOGIN, NO_GPU_DRIVERS config options - Create archsetup.conf.example with documented options Follows same pattern as archzfs project for consistency.
* chore: add stignore and reference docsCraig Jennings2026-01-233-0/+143
| | | | | - .stignore for syncthing - Reference notes for ZFS scripts removal and console display issues
* refactor(archsetup): remove --skip-slow-packages flagCraig Jennings2026-01-231-13/+2
| | | | | texlive-meta was replaced with smaller texlive packages, and topgrade should always be installed. The flag is no longer needed.
* fix(archsetup): improve error reporting and desktop database setupCraig Jennings2026-01-231-19/+8
| | | | | | - Install desktop-file-utils before calling update-desktop-database - Simplify firewall warning to terse message in error summary - Clean up package failure messages to show just package name and source
* fix(archsetup): add PAM config for gnome-keyring auto-unlockCraig Jennings2026-01-232-0/+12
| | | | | Configure /etc/pam.d/login to pass login password to gnome-keyring-daemon, enabling automatic keyring unlock on console login + startx workflow.
* feat(archsetup): add additional gstreamer codec packagesCraig Jennings2026-01-231-1/+4
| | | | | Add gst-plugins-bad, gst-plugins-ugly, and gst-libav for broader multimedia format support including AAC, MP3, x264, and FFmpeg codecs.
* refactor(archsetup): remove jdk, racket, and foliate packagesCraig Jennings2026-01-231-6/+0
| | | | | | | Remove unused packages: - jdk-openjdk and openjdk-doc (Java) - racket (Scheme) - foliate (epub reader)
* refactor(archsetup): replace texlive-meta with minimal package setCraig Jennings2026-01-231-3/+8
| | | | | | texlive-meta installs 2GB of packages including games, music notation, and humanities packages that aren't needed. Replace with minimal set (~335MB) that provides core LaTeX, latexmk, and standard fonts.
* fix(archsetup): enable syncthing user service via symlinkCraig Jennings2026-01-231-1/+7
| | | | | | systemctl --user requires an active D-Bus user session bus, which doesn't exist during installation. Create the enable symlink directly in ~/.config/systemd/user/default.target.wants/ instead.
* fix(archsetup): fix dbus-broker race condition with sysusersCraig Jennings2026-01-231-0/+8
| | | | | | dbus-broker can start before systemd-sysusers completes, causing it to fail user validation when parsing service files that reference system users like geoclue. Add a drop-in to ensure sysusers runs first.
* fix(archsetup): enable ufw firewall with ufw enable commandCraig Jennings2026-01-231-3/+3
| | | | | | | systemctl start ufw.service only runs ufw-init which checks if ENABLED=yes in /etc/ufw/ufw.conf. Without running 'ufw enable' first, the firewall remains inactive. Added 'ufw --force enable' to actually activate the firewall rules.
* fix(archsetup): use modalias for GPU detection instead of lspciCraig Jennings2026-01-231-10/+44
| | | | | | | lspci parsing missed GPUs that report as "Display controller" instead of "VGA" (e.g., AMD Strix Halo). Modalias-based detection checks vendor IDs directly from /sys, which is more reliable and matches how the kernel itself identifies hardware.
* fix(archsetup): add system config improvements and gnome-keyring setupCraig Jennings2026-01-227-1/+96
| | | | | | | | | | - 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)
* docs(todo): add weekly topgrade reminder for kernel upgradeCraig Jennings2026-01-221-0/+5
| | | | | | Track linux-lts upgrade to 6.18+ which contains fix for AMD Strix Halo VPE power gating bug causing system freezes. Workaround in place until kernel upgrade.
* fix(archsetup): run update-desktop-database after stowCraig Jennings2026-01-212-2/+10
| | | | | Register custom .desktop files in desktop database after stow links them into place.