For usage instructions, see README.md. For macOS-specific or Pi-specific setup, see setup-osx.md and setup-pi.md.
The Nix migration replaced the per-OS package scripts (scripts/setup/packages-*.sh,
scripts/setup-osx.sh, etc.) that this file used to document. Those files no
longer exist. The scripts that remain are nix wrappers.
βββ setup.sh # Auto-detects platform and runs the right rebuild
βββ update.sh # git pull + submodule update + setup.sh
βββ nix/scripts/ # Misc nix helper scripts
on macOS β sudo darwin-rebuild switch --flake .#mac-jenc
on NixOS β sudo nixos-rebuild switch --flake .#nixos-box
on Linux β home-manager switch --flake .#fedora
(also detects Fedora and runs dnf + service bootstrap)git pull
git submodule update --init --recursive
./setup.shUse this for routine updates. To bump pinned package versions (separate from applying config changes):
nix flake update nixpkgs
./setup.sh
brew upgrade --cask # Mac only β bumps cask-installed apps like claude-codePackages are declared in Nix, not in shell arrays:
- Cross-platform CLI:
home/default.nixβhome.packages = with pkgs; [ ... ] - OS-specific in nix: same file, under
lib.optionals isLinux [ ... ]/lib.optionals isDarwin [ ... ]blocks - macOS Homebrew (formulae + casks):
hosts/mac-jenc/default.nixβhomebrew.brews/homebrew.casks(e.g.,claude-codeis a cask) - Linux apt/dnf: handled by the host OS (the Linux Nix configs don't try to manage system packages outside the user environment)
- README.md β Quick start per platform
- setup-osx.md β macOS setup including 1Password SSH signing
- setup-pi.md β Raspberry Pi setup
- docs/plans/migration-open-issues.md β Outstanding decisions and known gaps
- docs/plans/migration-to-nix-flakes-home-manager.md β Original migration plan