I have a few packages in a personal repository that I’ve been occasionally updating manually. I see that nixpkgs has some tooling around passthru.updateScript
that helps automate this.
Is there a way for me to use that in my own repository? I’d love to be able to set e.g.
passthru.updateScript = gitUpdater { };
and then just run some command to update the package locally.
2 Likes
It is definitely possible, I do it in my personal repository using a custom script that calls update.nix
from Nixpkgs. The most important thing is to pass overlay containing your packages to update.nix
and some update scripts may require having packages available as top-level attributes from default.nix
(which will require extra boilerplate when using flakes).
Though not all updateScripts
will work out of the box – adjustments to the detection of edited file path might be needed.
2 Likes
Wonderful, thanks! I’m not sure I have the cleanest implementation but at least got something running:
$ ./tasks/update
Going to be running update for following packages:
- apex-unstable-2021-12-09
- cavif-1.5.0
- decompiler-mc-unstable-2022-06-21
- fastnbt-tools-0.25.0
- git-diff-image-unstable-2023-01-01
- gpx-reduce-unstable-2022-11-18
- mcaselector-2.1
- minemap-1.0.26
- nbt-explorer-2.8.0
- pngquant-interactive-0.1.0
- tile-stitch-unstable-2019-07-10
- trafilatura-1.3.0
- wireguard-vanity-address-0.4.0
Press Enter key to continue...
Running update for:
- apex-unstable-2021-12-09: UPDATING ...
- cavif-1.5.0: UPDATING ...
- decompiler-mc-unstable-2022-06-21: UPDATING ...
- fastnbt-tools-0.25.0: UPDATING ...
- fastnbt-tools-0.25.0: DONE.
- git-diff-image-unstable-2023-01-01: UPDATING ...
- cavif-1.5.0: DONE.
- gpx-reduce-unstable-2022-11-18: UPDATING ...
- apex-unstable-2021-12-09: DONE.
- mcaselector-2.1: UPDATING ...
- decompiler-mc-unstable-2022-06-21: DONE.
- minemap-1.0.26: UPDATING ...
- gpx-reduce-unstable-2022-11-18: DONE.
- nbt-explorer-2.8.0: UPDATING ...
- git-diff-image-unstable-2023-01-01: DONE.
- pngquant-interactive-0.1.0: UPDATING ...
- minemap-1.0.26: DONE.
- tile-stitch-unstable-2019-07-10: UPDATING ...
- mcaselector-2.1: DONE.
- trafilatura-1.3.0: UPDATING ...
- trafilatura-1.3.0: DONE.
- wireguard-vanity-address-0.4.0: UPDATING ...
- nbt-explorer-2.8.0: DONE.
- wireguard-vanity-address-0.4.0: DONE.
- pngquant-interactive-0.1.0: DONE.
- tile-stitch-unstable-2019-07-10: DONE.
Packages updated!
nix-update is impressive.