nixos-rebuild switch builds a new generation you can boot back into if
something breaks.
Update your system
Bump the pinned inputs (includingmarchyo itself), then rebuild:
darwin-rebuild switch --flake .#yourhost instead.
nix flake update rewrites flake.lock. Commit the updated lock file so the
change is reproducible and reviewable — the lock is the single source of truth
for what your system is built from.What “update” actually moves
Marchyo’s builders pick the package set for you, so an update tracks different channels depending on the system (see the Introduction):- Linux and
aarch64-darwinride nixpkgs unstable. x86_64-darwinis pinned to stable nixos-26.05 (the last release supporting Intel macOS).
nixpkgs input — updating the marchyo input is what
advances your packages.
Roll back
If a rebuild misbehaves, roll back to the previous generation:Unlike Btrfs snapshot systems, NixOS generations capture the system closure,
not your home files.
~ is untouched by a rollback. Roll back to undo a broken
system change; use your own backups for personal data.Developing on the Marchyo repo itself
If you have a checkout of Marchyo (rather than consuming it as an input), use thejust recipes — just update bumps the flake inputs and re-syncs
devenv.lock to the same nixpkgs revision, and just verify checks they stay
aligned: