Arch Linux + Hyprland, managed as ordered, idempotent migrations.
git clone --recurse-submodules [email protected]:funkybooboo/dotfiles.git ~/dotfiles
cd ~/dotfiles
./migrate.sh # install and configure everything; safe to re-run
# reboot into Hyprland
./setup.sh # secrets, project repos, NAS syncInstalling onto a bare machine instead? See docs/install.md.
One migration per piece of software. Each migrations/NNNNNN-*.sh installs the
thing it owns and links the config it owns, and must be safe to re-run;
migrate.sh runs them in lexicographic order. Config under root/home/ is
symlinked into ~/, so editing a live file edits the repo and git status
reports real drift.
migrate.sh handles software and knows nothing about your accounts.
setup.sh is the part that needs secrets and network: vault login, cloning
project repos, NAS sync.
- Install -- quick start, archinstall from scratch, what to back up first
- Migrations -- how
migrate.shworks, writing one, snapshots and rollback - Packages -- which install tier to reach for, and when nix is the right one
- Keybindings -- every bind, generated by
hypr-keybindings-doc - Contents -- repository layout and the scripts it ships
- Secrets -- vault,
secretmgr, what never lands in git - NAS and gaming -- sync timers, Steam and Proton
- Sibling repo -- the work machine, what diverges on purpose, and
dotfiles-drift
GPL -- see LICENSE