<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/archsetup.conf.example, branch v0.5</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=v0.5</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=v0.5'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-01-25T19:50:20+00:00</updated>
<entry>
<title>feat(archsetup): add interactive username/password prompts</title>
<updated>2026-01-25T19:50:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-25T19:50:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=cf05aee4ba2028d9148878298d13023340bf2b1f'/>
<id>urn:sha1:cf05aee4ba2028d9148878298d13023340bf2b1f</id>
<content type='text'>
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)
</content>
</entry>
<entry>
<title>feat(archsetup): add Hyprland/Wayland desktop environment support</title>
<updated>2026-01-25T00:37:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-25T00:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=6ce385c2be62492d43ef90b9525d38edc7cd8190'/>
<id>urn:sha1:6ce385c2be62492d43ef90b9525d38edc7cd8190</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>fix(archsetup): bug fixes, locale support, and code improvements</title>
<updated>2026-01-24T19:21:01+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-24T19:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=6011f90328d88a2c449442d6a31fef3614926ec9'/>
<id>urn:sha1:6011f90328d88a2c449442d6a31fef3614926ec9</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>refactor(archsetup): improve code architecture and error handling</title>
<updated>2026-01-23T17:16:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-23T17:16:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=a8e5a264f9f8ebb55d1ed4e48dd27656cb07da71'/>
<id>urn:sha1:a8e5a264f9f8ebb55d1ed4e48dd27656cb07da71</id>
<content type='text'>
- 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 &amp; 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(archsetup): add config file support for unattended installs</title>
<updated>2026-01-23T14:26:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-23T14:26:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=34737af104bf1a2a287e8a4650abd59e64294a3c'/>
<id>urn:sha1:34737af104bf1a2a287e8a4650abd59e64294a3c</id>
<content type='text'>
- 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.
</content>
</entry>
</feed>
