Refactors the flake update script to consolidate root and dev lockfile
updates into a single commit. Changes include:
- Captures and normalizes `nix flake update` output.
- Removes reliance on `--commit-lock-file` and `--amend`.
- Eliminates the need to track or compare HEAD commits manually.
- Only commit when flake.lock, flake/dev/flake.lock, or
version-info.toml have changes.
This is nearly a full rewrite of the lspconfig-servers update-script,
migrating it to the new `lsp/` directory system and simplifying where
possible.
- plugins/lsp: adapt to new file format
- flake/locate-lsp-packages: update for new lspconfig file format
- generated: Updated lspconfig-servers.json
A new update script will check which "old" files do not have an
equivalent "new" file, then the plugins.lsp module will create a
removal assertion for any servers that are listed in the generated
file.
Move to separate script that looks at history of requests to determine
who needs to be removed. We will not remove reviews from those who were
manually requested.
Flake registries and include paths are not the same thing.
`<nixpkgs>` looks for nixpkgs on the include path, set by `NIX_PATH` and
`--include`. However `--inputs-from` adds inputs to the flake registry,
not the include path.
This changes how we think about this directory; it does not need to be
exclusively for scripts related to updates, but should be a place for
any scripts intended to be run by CI workflows.
This mindset should make it easier to develop and test the business
logic of workflows, without always needing to test "in production" on
the nixvim repo or a fork.