update-scripts: move out of flake

See the explanation in the new update-scripts/README.md file.
This commit is contained in:
Matt Sturgeon 2024-08-03 18:31:40 +01:00
parent 96d0a2e390
commit d3cb750e6a
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
10 changed files with 146 additions and 88 deletions

30
update-scripts/README.md Normal file
View file

@ -0,0 +1,30 @@
# Update scripts
This directory contains update scripts that are not part of the actual flake.
These scripts are used by the `update` CI workflow, so you shouldn't need to run them manually.
This workflow is found at `.github/workflows/update.yml`.
## Developing
Because these scripts aren't packaged in the flake, you should use `nix-build` and `nix-shell` instead of `nix build`, `nix run`, and `nix develop`, etc.
For example, `nix-build -A generate` will build `./generate.nix` into `./result/bin/generate`.
A `shell.nix` is available that will place `generate` on your PATH.
You could use this directory's shell/packages from another working directory by supplying `nix-build` or `nix-shell` with a path.
E.g. `nix-shell ./update-scripts`.
## Explanation
These packages are not in the flake outputs for two main reasons:
- Packages built using the flake must follow the flake's `nixConfig`
- Packages included in the flake's output are checked by `nix flake check`
Being unable to bypass `nixConfig` is an issue because we want to disable [IFD] for the flake, but not for these generate scripts.
If something changes upstream that causes the builds to fail, we don't want this to block us updating `flake.lock`.
We'd still be made aware of any issues by the `update` CI workflow failing.
[IFD]: https://nixos.org/manual/nix/stable/language/import-from-derivation