blumeops/docs/how-to/ringtail/manage-lockfile.md
Erich Blume a5429d5a34 Update ringtail flake inputs, add flake-update pipeline (#240)
## Summary
- Update all ringtail NixOS flake inputs (nixpkgs, disko, home-manager) to latest
- Add `flake_update` Dagger function (`nix flake update`) alongside existing `flake_lock` (`nix flake lock`)
- Add how-to guide for managing the ringtail lockfile
- Update dagger and ringtail reference cards

## Deployment and Testing
- [x] `mise run provision-ringtail` — deployed successfully, `changed=2` (repo + rebuild)
- [x] `mise run services-check` — all services healthy
- [x] Doc link and index checks pass

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/240
2026-02-22 08:17:52 -08:00

1.2 KiB

title modified tags
Manage Ringtail Lockfile 2026-02-22
how-to
ringtail
nix

Manage Ringtail Lockfile

Two dagger pipelines manage the ringtail NixOS flake lockfile (nixos/ringtail/flake.lock) for different purposes.

Update All Inputs

To pull the latest versions of all flake inputs (equivalent to nix flake update):

# Update flake.lock
dagger call flake-update --src=. --flake-path=nixos/ringtail \
    export --path=nixos/ringtail/flake.lock

# Commit, push, then deploy
git add nixos/ringtail/flake.lock
git commit -m "Update ringtail flake inputs"
git push
mise run provision-ringtail

Lock New Inputs Only

mise run provision-ringtail automatically runs flake-lock before deploying. This resolves any newly added inputs without upgrading existing ones (equivalent to nix flake lock). If the lockfile changes, the task stages the file and exits — commit, push, and re-run.

This is the right behavior for provisioning: configuration changes that add a new input get locked, but existing inputs stay pinned until explicitly updated.

  • ringtail — Host reference
  • dagger — Build engine (provides both pipelines)