| Age | Commit message (Collapse) | Author |
|
- ZFS scrub timer: use template unit with pool name (zfs-scrub-weekly@pool.timer)
- Emacs config: handle existing .emacs.d dir with git pull instead of failing
|
|
|
|
|
|
|
|
- Bootstrap DNS symlink in create_user() before AUR/git operations
- Add git safe.directory config before git restore (root on user repo)
|
|
When run via curl|bash, archsetup_dir resolves to /root with no files.
Now clones from git.cjennings.net instead of copying local files.
|
|
- Fixed permission bug where source_dir tmpfs was owned by root
- Remove zfssnapshot and zfsrollback (now in archzfs ISO)
|
|
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>
|
|
|
|
- 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
|
|
- Add --autologin and --no-autologin CLI flags
- Add is_encrypted_root() to detect LUKS and ZFS encryption
- Prompt user on encrypted systems (default yes)
- Configure getty@tty1 drop-in for passwordless login after decryption
|
|
- wireguard-tools from pacman (dotfiles have helper functions ready)
- tailscale-bin from AUR (prebuilt, fast install)
- Enable tailscaled service (run 'tailscale up' to authenticate)
|
|
|
|
- Configure systemd-resolved with DoT using Cloudflare + Quad9
- Enable DNSSEC validation
- Integrate with NetworkManager
- Fix conflict: keep systemd-resolved for DNS, avahi for mDNS
|
|
|
|
|
|
|
|
Root is locked last so it remains available for recovery if script fails earlier.
Users must use sudo for privileged operations after successful install.
|
|
|
|
- Install and configure fail2ban with ufw integration
- SSH jail: 3 attempts, 1 hour ban
- Default jail: 5 attempts, 10 minute ban
- Also file security recommendations to assets/
|
|
|
|
|
|
- Detect Intel, AMD, and NVIDIA GPUs via lspci
- Install appropriate drivers and hardware video acceleration
- Support multiple GPUs (e.g., hybrid Intel+NVIDIA laptops)
- Add --no-gpu-drivers flag to skip (useful for VMs)
- Use nvidia-dkms for better kernel compatibility
- Add fallback to mesa+vesa for unknown hardware
|
|
- Add missing error codes to error() calls
- Remove useless mkdir pipe to tee
- Remove duplicate 5353/udp firewall rule
- Replace deprecated exfat-utils with exfatprogs
- Quote all variable expansions for safety
- Use pipx instead of pip for isolated environments
|
|
|
|
- Add ZFS detection with sanoid/syncoid for snapshot management
- Add gvfs-smb for Thunar SMB network browsing
- Fix shell quoting throughout script
- Fix stale $action variables in error handlers
- Fix display() return values (was returning 1)
- Fix mkinitcpio.conf sed pattern to be flexible
- Fix vconsole.conf duplicate entries on re-run
- Fix systemd unit overrides using drop-in files
- Fix ufw port typo (55353 -> 5353)
- Fix GRUB_RECORDFAIL_TIMEOUT undefined variable
- Enable NetworkManager service
- Move thunar, libvips, isync to pacman (now in official repos)
- Clean up reflector config with heredoc
- Remove unnecessary sudo when already root
- Convert shebang from sh to bash
|
|
|
|
|
|
|
|
|
|
File remains local but is now covered by .gitignore
|
|
- 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
|
|
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>
|
|
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.
|
|
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>
|
|
Created script to launch tmux session with Claude assistants for multiple
projects. Synced dotfile changes including calibre, audacious, and shell configs.
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
- 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>
|
|
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.
|
|
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.
|
|
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>
|
|
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>
|
|
- 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>
|