aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bootstrap.sh
Commit message (Collapse)AuthorAgeFilesLines
* feat(services): curated systemd units via just recipesLibravatar sommerfeld46 hours1-27/+3
| | | | | | | | | | | | | | | | Introduce systemd-units/<group>.txt files paired by name with meta groups (systemd-units/base.txt <-> meta/base.txt). Units listed there are enabled by a new 'just services-enable' recipe, wired into 'just init' so bootstrap.sh no longer needs its own systemctl loop. New justfile recipes (Services section): services list curated units with enabled/active state services-enable idempotent 'systemctl enable --now', soft-fail per unit services-drift two-way diff vs systemctl list-unit-files bootstrap.sh drops its hardcoded 9-unit loop and laptop TLP block (~22 lines); 'just init' now handles it. tlp.service lives directly in systemd-units/base.txt (no laptop gating).
* feat(bootstrap): add Arch post-install stepsLibravatar sommerfeld46 hours1-6/+43
| | | | | | | | | | | | | | | | | | | | After 'just init' the script now: - enables recommended systemd units that base.txt installs but nothing was activating: fstrim.timer, systemd-timesyncd, systemd-resolved, reflector.timer, paccache.timer, pkgstats.timer, acpid, cpupower, iwd - enables tlp.service only when a battery is present (/sys/class/power_supply/BAT*) - refreshes the pacman mirrorlist via reflector using the already- deployed /etc/xdg/reflector/reflector.conf - runs xdg-user-dirs-update to create ~/Documents, ~/Downloads, etc. Each step is soft-fail: warns and continues on failure rather than aborting the whole bootstrap. pacman.conf tuning is intentionally left out (should be managed via chezmoi's etc/ pipeline). User creation is also out of scope; the script continues to require the wheel user to exist beforehand, per the Arch installation guide.
* feat: add bootstrap.sh for fresh Arch installsLibravatar sommerfeld46 hours1-0/+80
Takes a minimal Arch system (only 'base' installed) to the point where 'just init' has run and dotfiles are deployed. Installs prerequisites (sudo, git, base-devel, chezmoi, just, efibootmgr), enables %wheel in sudoers, bootstraps paru-bin from the AUR, clones the repo, runs 'just init' (which swaps sudo for doas-sudo-shim via the existing base meta list), and launches create-efi if no Arch EFI boot entry exists. Designed to be curlable: curl -fsSL https://raw.githubusercontent.com/sommerfelddev/dotfiles/master/bootstrap.sh | sh