federated.sh redirects wget and curl to install.sh on Gitea, and
browsers to the Install page, so the command is short enough to type.
Opening Gitea to copy the long command is no longer a step; link
install.sh for anyone who wants to read it first.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
archinstall's "Copy ISO network configuration", which a user who connected
with iwctl may pick, turns on iwd and systemd-networkd. CoreDesktop then
turns on NetworkManager too, and after a restart two services fight over
the Wi-Fi card. system/wifi.sh disables iwd and systemd-networkd, without
stopping them, when NetworkManager is enabled and isn't set to use iwd
itself. install.sh runs it, and a migration runs it on existing machines.
The README tells users to choose NetworkManager in archinstall.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New machines get VSCodium alone. A migration uninstalls the VS Code
Flatpak once on existing machines; its settings stay in ~/.var/app. The
README says how to install VS Code for extensions only Microsoft's
marketplace has, such as Remote-SSH; update then leaves it alone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
install.sh now stops early, with a clear message, if this isn't 64-bit
Arch, it's run as root, there's no internet, or sudo doesn't work.
system/preflight.sh then asks before going on with too little disk space
or / not on btrfs, and offers to switch another login screen to GDM and
PulseAudio to PipeWire. Keeping another login screen puts GDM in
services-off, so install and update stop failing to enable it; a
migration does the same on existing machines. It says nothing when all
is well, as refresh runs install.sh again.
Intel GPUs also get intel-media-driver for hardware video decoding, with
a migration for existing machines.
The mise migration links ~/.local/bin/mise to /usr/bin/mise instead of
deleting it, so shells opened before the update don't print an error at
every prompt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in the shellcheck lint and bats tests. Both sides fixed the same
shellcheck warnings; this keeps the remote's versions of 20-aur.sh,
80-gnome-extensions.sh and .shellcheckrc, which silence false positives
per line rather than for the whole repo.
The Gitea workflow now runs make lint, so it checks the same scripts as
the Makefile, and the README points contributors at make check. The test
helper's REPO, used only by the .bats files, is marked for shellcheck,
and the update test expects the pull to be fast-forward only.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`sibling` asks for a git URL, clones the repo into
~/.local/share/siblings/<name>, runs its install.sh and confirms the
install. `sibling list` and `sibling remove` manage installed siblings.
updates.d/71-siblings.sh pulls every sibling during `update` and runs
its update.sh, reporting failures in the update summary.
Document the sibling contract in skills/sibling-project-format.md and
update the custom-hook guide to match.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>