Commit graph

363 commits

Author SHA1 Message Date
Aidan Welch
2fabda24cc maintainers: add AidanWelch 2025-06-18 23:26:08 +00:00
Matt Sturgeon
1b08a4d976 lib/builders: pass text as file
Some checks are pending
Build and deploy documentation / deploy (push) Waiting to run
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run
This fixes potential "argument list too long" errors from bash when
writing large files.
2025-06-11 23:45:05 +00:00
Matt Sturgeon
1d8724144c lib/options: add TODO regarding lua-types
`defaultNullOpts` is generally used for representing lua-options.

We should probably a) rename it something like `luaOptions` and switch
out the primitive types to use the new `lua-types`.
2025-06-04 09:07:48 +00:00
Matt Sturgeon
57b61e4267 lib/lua-types: init
An initial set of option types for representing values serialisable into
lua.
2025-06-04 09:07:48 +00:00
Matt Sturgeon
f4a7447d27
lib/util: move docs from lib/index to doc-comments
Moved all function-specific docs from `docs/lib/index.md` into RFC145
doc-comments.

Added `lib.nixvim.lua.toLuaObject` to hold the public docs and serve as
a stable impl of `toLua'` in case we decide to change its defaults.
2025-05-19 00:23:21 +01:00
Matt Sturgeon
5cf8cb5ee6
lib/utils: split into public and internal files
We will include the public file in the docs.
2025-05-19 00:23:20 +01:00
Matt Sturgeon
0c7e2aa96b
docs: user-guide/helpers.mdlib/index.md
Move the user-guide to the new lib reference docs.

Added a MDBook redirect entry.

Updated man docs.
2025-05-19 00:19:57 +01:00
Matt Sturgeon
0ccc452af2
maintainers: enforce sorting 2025-05-17 00:07:06 +01:00
Jalil David Salamé Messina
b505a2aebd
maintainers: add jalil-salame
Adding myself as a maintainer
2025-05-12 08:41:31 +02:00
Gaetan Lepage
b66559d8ef lib/plugins/mk{Neovim,Vim}Plugin: add dependencies parameter 2025-04-28 02:04:13 +02:00
Matt Sturgeon
e6e5369535
lib/utils: fix literalLua multiline rendering
`lib.generators.toPretty` has bespoke handling for rendering nix strings
using either the `" "` or `'' ''` syntax, based on some heuristics.

Using `toPretty` instead of `toJSON` improves how literal-lua examples
render in the docs.
2025-04-24 19:07:34 +01:00
Po Co
f8ed424711 maintainers: add PoCo 2025-04-15 22:40:13 +01:00
Matt Sturgeon
d94956e5da
lib/deprecation: implement aliases for mkRemovedPackageOptionModule
Allows most existing configs to continue building, now with warnings
instead of assertions when the old `plugins.*.*Package` options are
used.

An assertion will still occur if there is a merge conflict, e.g:
`plugins.a.fooPackage = null` and `plugins.b.fooPackage = pkgs.foo`.
2025-04-15 22:15:18 +01:00
Matt Sturgeon
1095b7f891
lib/deprecations: use real option paths in mkRemovedPackageOptionModule 2025-04-12 04:44:53 +01:00
Kasper Seweryn
3c600e2876 maintainers: add wvffle 2025-04-11 16:52:33 +02:00
Gaetan Lepage
7e6038a69a modules/dependencies: add go 2025-04-11 08:51:45 +10:00
Gaetan Lepage
cfd4b61262 modules/dependencies: init + add curl 2025-04-11 08:51:45 +10:00
Gaetan Lepage
95573411bc modules/keymaps: add replace_keycodes keymap sub-option 2025-03-28 11:32:49 +01:00
Gaetan Lepage
fe95b14d52 lib/keymap-helpers (mapConfigOptions): use mkNullOrStr for desc 2025-03-28 11:32:49 +01:00
Gaetan Lepage
1681cc3869 lib/maintainers: remove jolars as he became a nixpkgs maintainer 2025-03-19 00:51:22 +01:00
Matt Sturgeon
b8c5587399
lib/keymaps: make mode type's description more readable
Only list the enum values once, instead of twice.
2025-02-15 15:09:05 +00:00
Matt Sturgeon
bd46d896a8
lib/keymaps: add a link to :h map-modes 2025-02-15 14:19:24 +00:00
Matt Sturgeon
d3a25cb97f
lib/keymaps: add abbreviation support to modes enum
See https://neovim.io/doc/user/usr_24.html#_abbreviations
2025-02-15 13:51:37 +00:00
Matt Sturgeon
a1e168a2a0
lib/keymaps: replace modes attrs with list
Simplify and remove dead code. Replace the `desc` attrs with inline
comments.
2025-02-15 13:35:19 +00:00
Firelight Flagboy
56e8230939
lib/options: Add mkEnabledOption
Like `lib.options.mkEnableOption` but it's enabled by default
2025-02-06 01:56:55 +00:00
Quentin Boyer
a2f01876f7 lib: Harmonize package options which may not exist in nixpkgs 2025-01-31 22:55:38 +00:00
Matt Sturgeon
1a5f1b4393
lib/plugins: introduce mkMetaModule 2025-01-29 17:39:18 +00:00
Gaetan Lepage
abba4af10b lib/utils: fix typo in example of mkAssertions 2025-01-29 15:05:42 +01:00
Matt Sturgeon
53bfadc2c2
lib/modules: work-around a submodule type-merging issue
Includes a regression test.

Revert "lib/modules: remove explicit `specialArgs.lib`"

This reverts commit b5efe91c52.
2025-01-21 12:10:29 +00:00
Gaetan Lepage
a7e516b322 lib/utils: add mkAssertions 2025-01-20 14:17:26 +01:00
Gaetan Lepage
02e16b2a76 lib/utils: add mkWarnings 2025-01-20 12:25:33 +00:00
Matt Sturgeon
a70b16976b
lib: export evalNixvim as top-level alias
- `lib.nixvim.evalNixvim`
- `<nixvim>.lib.evalNixvim` (flake output)
2025-01-20 05:23:05 +00:00
Matt Sturgeon
3172e48dbb
lib/tests: simplify access to default system 2025-01-17 10:16:10 +00:00
Matt Sturgeon
9bf4c9d55b
wrappers/standalone: make pkgs arg optional, allow specifying system 2025-01-17 10:16:10 +00:00
Matt Sturgeon
8c6f9ed8c4
lib/modules: allow specifying system as an evalNixvim arg 2025-01-17 10:16:10 +00:00
Matt Sturgeon
c19daee453
docs/user-guide: document nixvim's lib overlay 2025-01-17 02:23:10 +00:00
Matt Sturgeon
16662760a9
lib/modules: specify modulesPath
`specialArgs.modulesPath` can be used to allow users to manually
import modules relative to our `./modules` directory.

It is also used by the module system to provide a base path for
relative `disabledModules` paths.
2025-01-17 00:28:36 +00:00
Matt Sturgeon
b5efe91c52
lib/modules: remove explicit specialArgs.lib
`lib.evalModules` will do this internally anyway
2025-01-17 00:21:28 +00:00
Gaetan Lepage
91227dca9e lib/options: add defaultNullOpts.mkFloat 2025-01-04 00:15:16 +01:00
Gaetan Lepage
2e600f5796 lib/options: add defaultNullOpts.mkProportion 2025-01-03 23:31:37 +01:00
Gaetan Lepage
cbddd58c69 lib/maintainers: add jolars 2025-01-02 00:07:27 +01:00
Gaetan Lepage
caef39133f lib/options: mkAttrsOf, mkListOf, mkAttributeSet should accept raw values 2024-12-31 11:00:20 +01:00
Gaetan Lepage
c04dda021b lib/options/mkRaw: automatically convert example strings to rawLua type 2024-12-31 00:10:49 +01:00
Gaetan Lepage
7500425d31 lib/options/mkRaw': handle pluginDefault=null 2024-12-27 23:36:04 +00:00
Heitor Augusto
1671f8618f lib/mk-neovim-plugin: allow lazy-loading without luaConfig 2024-12-26 23:12:15 +00:00
Heitor Augusto
f878289722 lib/plugins: make plugin optional when lazy-loading 2024-12-26 23:00:27 +00:00
Matt Sturgeon
9487403532
modules/context: flake option, provides access to our flake 2024-12-23 12:18:06 +00:00
Matt Sturgeon
6f45ca4a22
lib/modules: flake is now required 2024-12-23 11:55:32 +00:00
Matt Sturgeon
403d5e23c5
lib/modules: remove assertion message for removed check arg 2024-12-23 11:54:35 +00:00
Gaetan Lepage
f1b5c2c593 lib/tests: remove deprecated dontRun 2024-12-23 10:23:39 +00:00