Adds a "check" CI workflow to replace buildbot.
Uses nix-community/nix-github-actions to generate a job matrix as a
`githubActions.matrix` flake output. This allows more customisation than
simply building _all_ `checks`.
Rename `inputs.nixpkgs` to `inputs.dev-nixpkgs` to avoid shadowing the
root flake's `inputs.nixpkgs`.
Having the dev flake shadow an input can be confusing, since overriding
the root flake's input will have no effect when evaluating outputs that
depend on the dev partition.
The only reason we specify a `nixpkgs` input at all here, is so the
other inputs can follow it.
Once nix 2.26 is more prevalent, we can follow the root flake's inputs
using a `"path:../.."` input.
Need to use raw output to avoid having a quoted string, otherwise we end
up with a malformed flakeref:
error: in URL 'github:NixOS/nixpkgs/"2d068ae5c6516b2d04562de50a58c682540de9bf"',
'"2d068ae5c6516b2d04562de50a58c682540de9bf"' is not a commit hash or branch/tag name
This removes the need for end-users to manually set
`nixvim.inputs.devshell.follows = ""` (etc)
We offload evaluation of some of our flake modules into a `dev`
partition submodule.
- When its not needed, this submodule is not evaluated.
- When it is needed, it fetches extra inputs from `flake/dev/flake.nix`
as part of evaluating the submodule.
See https://flake.parts/options/flake-parts-partitions.html
Most of the time we want to re-apply "manual"/"additional" commits from
the already open PR, however it is possible we may wish to run the CI
without doing so.
Add an on-by-default tickbox to toggle the `re_apply` step.
Instead of comparing the nixpkgs input revision, we can re-apply any
manually committed changes and then check if any files are different
before pushing.
Cancelling via `exit 1` will mark the workflow as "failed". Instead we
can write a `cancelled` step output and have all the following steps
be conditional.