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.
This should help mitigate spammy force-pushes that don't actually update
the nixpkgs input.
This only affects _scheduled_ runs. Manually triggered updates will
always force-push to the update branch.
Split scheduling other branches into a dedicated workflow. The main
update workflow is no longer responsible for triggering the workflow on
_other_ branches.
Rather than interpolating input (flakeref & baseHref) into the build
expression, take advantage of `--argstr`.
See "Common evaluation options" in `nix build --help` for more detail.
We don't need to specify `/nixvim/` as part of our install path as that
is where gh-pages uploads to by default.
Rather, we only need to specify the full `/nixvim/foo/` in the base-href
and the install path should just be `/foo`.
We can no longer simply check the files list matches `[ flake.lock ]`,
since we now also touch `generated/` files.
Mergify conditions cannot be checked against "all" list items; checks
are always applied against "any" item. Therefore we need some
double-negatives to check that "any item does not match a regex that
does not match (flake.lock|generated/.*)".
Yes, this is horrible.