]> git.scottworley.com Git - auto-upgrade-with-pinch/summary
 
descriptionAutomatic NixOS upgrades with pinch
last changeSun, 2 Aug 2026 01:26:18 +0000 (18:26 -0700)
readme

auto-upgrade-with-pinch

Automatically update a NixOS machine from a remote git repo.

The advantage of this over NixOps is in authentication: NixOps requires granting a general-purpose administrator credential for the machines under management to the actor pushing the updates. This credential is intended to be used only for pushing updates, but could be used for any other purpose. Reliably logging and auditing what is done with this credential if it is used interactively is extremely difficult.

This tool, on the other hand, only applies configuration changes recorded in a git repository. This is transparent and easy to audit. Configuration updates are pulled, not pushed. Configuration updates must be signed (with normal git commit signatures). Force-pushed updates are rejected. Additional policy can be easily enforced with normal git repository control mechanisms, such as requiring code reviews.

shortlog
2026-08-02 Scott WorleyAdd the option to use `nix-env --set` for user profiles master
2026-08-02 Scott WorleyRemove the `abort` otherPackages option
2026-08-02 Scott WorleyRemove comment musing about nix-env --upgrade
2026-07-25 Scott WorleyAllow more-gentle "boot" (instead of "switch") updates
2026-05-04 Scott Worleypinch: 3.3.2 → 3.3.3
2026-03-29 Scott WorleyNarrow sudoers to runAs=root
2026-01-02 Scott Worley25.11: Formatting: nixfmt-classic → nixfmt-rfc-style
2025-12-14 Scott Worley25.11: pinch: 3.3.1 → 3.3.2
2025-12-14 Scott Worley25.11: pyproject boilerplate
2025-10-03 Scott WorleyAdd some syncs to reduce risk on machines that can...
2025-07-10 Scott Worleypinch: 3.1.0 → 3.3.1
2025-05-24 Scott Worley25.05: polite-merge: 2.4.1 → 2.4.2
2024-12-21 Scott WorleyWhen becoming other users, cd to / with pushd, not...
2024-12-21 Scott WorleyWhen becoming other users, cd to /
2024-12-12 Scott Worley24.11: polite-merge: 2.4 → 2.4.1
2024-12-12 Scott WorleyDrop 22.11 support: Just use "nativeCheckInputs"
...
heads
4 weeks ago master