Commit graph

137 commits

Author SHA1 Message Date
Gaetan Lepage
c803fd738f dev/list-plugins: derivation cosmetic refactor 2024-12-17 14:21:51 +00:00
Gaetan Lepage
3461f890fa plugins/vim-matchup: migrate to mkVimPlugin 2024-12-17 14:14:49 +00:00
Gaetan Lepage
6c30476a4d plugins/plantuml-syntax: migrate to mkVimPlugin 2024-12-16 17:02:29 +00:00
Gaetan Lepage
471f68d9bb plugins/vim-bbye: migrate to mkVimPlugin 2024-12-16 16:51:55 +00:00
Gaetan Lepage
a24ec7412e plugins/intellitab: migrate to mkVimPlugin 2024-12-16 17:19:10 +01:00
Gaetan Lepage
9062a66ee9 plugins/gitmessenger: migrate to mkVimPlugin 2024-12-16 15:52:09 +01:00
Gaetan Lepage
ad87ec831b dev/list-plugins: add flake check 2024-12-16 15:15:44 +01:00
Gaetan Lepage
12db5eaf8a dev/list-plugins: add --root-path argument 2024-12-16 14:57:08 +01:00
Gaetan Lepage
bc3b99c4d9 dev/list-plugins: make it a proper package 2024-12-16 14:57:08 +01:00
Gaetan Lepage
0fb43cbfb6 dev/list-plugins: properly error out when parsing is unsuccessfull 2024-12-16 14:57:08 +01:00
Gaetan Lepage
0edc061a6c plugins/gitgutter: migrate to mkVimPlugin 2024-12-16 14:35:33 +01:00
Gaetan Lepage
76e9d89d96 plugins/floaterm: move to mkVimPlugin 2024-12-16 11:57:46 +01:00
Gaetan Lepage
7e4f8a2a56 plugins/friendly-snippets: switch to mkVimPlugin 2024-12-16 10:42:07 +00:00
Gaetan Lepage
93208b9536 plugins/quickmath: migrate to mkVimPlugin 2024-12-16 10:00:06 +00:00
Austin Horstman
ea26af3ee9
dev/list-plugins: cleanup migrated plugins 2024-12-15 14:57:35 -06:00
Austin Horstman
85b990286d
flake-modules/new-plugin: find project root 2024-12-15 14:07:26 -06:00
Austin Horstman
35b6d9bc9d
flake-modules/new-plugin: init
Allows quickly creating new plugins to help fulfill plugin creation
requests.
2024-12-15 14:07:26 -06:00
Quentin Boyer
dc7bca6d8c update-scripts: Add a script to search for nvim-lspconfig server packages 2024-12-15 19:12:49 +00:00
Matt Sturgeon
bef9feb446
lib/modules: pass inputs.nixpkgs into evalNixvim
Expose our locked nixpkgs as the `nixpkgs.source` module options.

This only happens when `evalNixvim` is part of a lib that was provided
`flake` as an argument.

Stubbed the `nixpkgs.source` option for now. Eventually, this will be
used to construct `pkgs` internally. For now, it's purely informational.
2024-12-15 18:41:23 +00:00
Matt Sturgeon
32027965d8
lib: remove dependency on pkgs 2024-12-15 18:24:57 +00:00
Matt Sturgeon
8eeea073fc
tests: call using callPackages 2024-12-15 17:44:56 +00:00
Gaetan Lepage
64681ae84c dev/list-plugins: add markdown formatting 2024-12-15 17:18:04 +00:00
Gaetan Lepage
3726dbed68 dev/list-plugins: deprecate Kind.UNKNOWN completely 2024-12-15 17:18:04 +00:00
Gaetan Lepage
a7afed6b45 dev/list-plugins: update EXCLUDES and KNOWN_PATHS variables 2024-12-15 17:18:04 +00:00
Gaetan Lepage
bcebe05a51 dev/list-plugins: add symbol for 'MISC' type plugins 2024-12-15 17:18:04 +00:00
Austin Horstman
c7a261db2c
flake-modules/dev: add deadnix 2024-12-14 11:34:26 -06:00
Gaetan Lepage
8dfa5fa8a2 flake-modules/dev: cosmetic refactor 2024-12-10 08:47:04 +00:00
Matt Sturgeon
99b066ba6d
docs: only set base-href in CI built docs
This reverts commit c12e59ff7c
2024-11-18 19:54:38 +00:00
Matt Sturgeon
990ef039f7
tests: move test derivations to tests/default.nix
Move the previous `default.nix` to `main.nix` so that `default.nix` can
be used for defining the set of all test derivations.

`main.nix` is imported by `default.nix`, but is only responsible for the
tests built from `tests/test-sources/`.
2024-10-18 20:51:30 +01:00
Matt Sturgeon
af650ba940
tests/lsp-servers: de-couple from grouped tests
Follow up to cab6b0c9fe
2024-10-10 21:50:23 +01:00
Austin Horstman
b4f71a9330
flake-modules/dev: exclude generated files from typos hook 2024-10-10 09:35:52 -05:00
Matt Sturgeon
4b7a41276a
modules/nixpkgs: initial pkgs option, drop defaultPkgs specialArg
This minimal implementation allows `nixpkgs.pkgs` to be defined, but
does not implement evaluating an instance from a pkgsPath when _not_
defined.

The `defaultPkgs` specialArg is dropped in favour of `nixpkgs.pkgs`
being defined. If it's not defined, an assertion is thrown.

In the future, a nixpkgs source path can be supplied, defaulting to the
flake's `inputs.nixpkgs`. Along with other `nixpkgs.*` options, this
will allow a `pkgs` instance to be evaluated within the module eval.
2024-09-27 09:30:12 +01:00
Matt Sturgeon
6a1bf6bdc3
modules/output: check warnings+assertions on build.package
Add a `build.packageUnchecked` option for use instead of the old `check`
evalNixvim argument.
2024-09-26 18:04:36 +01:00
Austin Horstman
5e8f822af5
flake-modules/dev: treefmt re-enable taplo linux 2024-09-26 11:05:48 -05:00
Matt Sturgeon
191b0a9502
treewide: avoid passing pkgs to our lib
In the two places where our "helpers" lib is exclusively internal
(flake module args and building the docs), we no longer supply `pkgs`.

In the other 4 locations, we now note why we still do in a comment.
2024-09-22 18:18:05 +01:00
Matt Sturgeon
fcb782cd9c
flake: add an empty nixvimConfiguration to the legacyPackages output 2024-09-15 18:59:52 +01:00
Matt Sturgeon
4e5bd1d79b
lib: segregate and deprecate functions that need pkgs
Splits everything that depends on a `pkgs` instance into an optional
attrs, allowing `helpers.nix` to be bootstrapped without `pkgs`.

This required some refactoring:
- `modules.specialArgs` is only available when `pkgs` is used
- `modules.specialArgsWith` now requires `defaultPkgs` be provided
- `builders.*` now have `*With` variants that take `pkgs` as an argument
  and a `withPkgs` function that returns the old interface
- Had to define the fixed part of `builders` outside the attrs for now,
  to avoid infinite recursion.
- The old `builders` are now deprecated, and print a warning when
  evaluated
- `withOptoinalFns` was introduced to merge the optional attrs into the
  final lib.
2024-09-13 19:05:26 +01:00
Matt Sturgeon
7a147234f8
lib: rename helpers.nix -> default.nix
The old `default.nix` is inlined into the "lib" flake-module, which is
the only place it was used.

This allows "helpers" to take its rightful place at the root of `./lib` 👑
2024-09-13 17:25:17 +01:00
Matt Sturgeon
1310eaf606
flake/treefmt: disable taplo for now
It is currently broken, with the error:

taplo with options '[format]' failed to apply: exit status 101
2024-09-13 10:08:08 -05:00
Quentin Boyer
cab2a30ae1
docs: Create a markdown-it plugin 2024-09-13 12:59:27 +01:00
Matt Sturgeon
6665521525
docs: move pkgs overlays to their own file 2024-09-13 12:26:48 +01:00
Matt Sturgeon
faff32b9f1
plugins/by-name: init
Add support for automatically importing any directories under
`plugins/by-name`.

Includes a validation test, which is run by CI and by the pre-commit hook.
2024-09-09 11:50:38 +01:00
Matt Sturgeon
c4135d720a
flake/pre-commit: check maintainers when modified 2024-09-07 02:08:23 +01:00
Matt Sturgeon
5c929a161f
flake: remove pre-commit from checks output 2024-09-07 02:08:23 +01:00
Matt Sturgeon
e48da949cf
tests/package-options: init
The test ensures "package" options use a "literalExpression" in their
defaultText; i.e. it validates `lib.mkPackageOption` was used to build
the package options.

All options whose `default` is a derivation are covered by the test,
other than submodule sub-options.
2024-09-05 02:24:52 +01:00
Austin Horstman
caefb266be
flake-modules/dev: treefmt ignore .editorconfig 2024-08-31 16:26:49 -05:00
Matt Sturgeon
1c879ec3aa
tests: add regression test for warnings + assertions
Ensure `mkTestDerivationFromNixvimModule` correctly test warnings & assertions.

Also did some minor cleanup:
- Call `failing-tests.nix` using `pkgs.callPackage`
- Replace repetive use of `testBuildFailure` with a wrapper
  `mkFailingNixvimTest`
2024-08-28 00:44:34 +01:00
Matt Sturgeon
60ea38d2c4
tests: test the tests
Adds a regression test for #2076. This test ensures that
`extraConfigLua` is used in `finalPackage` and that the test will fail
correctly when running `nvim` results in unexpected output.
2024-08-27 03:54:43 +01:00
Austin Horstman
45081d5f21
flake-modules/list-plugins: add extra filters
I have been using this more and wanted to create some filters to
onlyoutput the information I cared about. This adds the ability to
filter bykind, state, and whether a plugin has deprecation warnings.
2024-08-24 09:39:29 -05:00
Austin Horstman
3a04cc75e6
flake-modules/dev: add isort 2024-08-24 08:47:04 -05:00