f0764db721 added rename aliases for the
HTML and JSON options, which print a trace when evaluated:
trace: Obsolete option `HTML' is used. It was renamed to `html'.
trace: Obsolete option `JSON' is used. It was renamed to `json'.
These were correctly removed when introspecting enabled tools, however
they were not removed when constructing the "setup options" to serialise
as a lua table.
Instead of automatically enabling `plugins.dap`, require users to
explicitly enable it. This prevents silent re-enabling of dap when
a user has explicitly disabled it.
Instead of automatically enabling `plugins.dap`, require users to
explicitly enable it. This prevents silent re-enabling of dap when
a user has explicitly disabled it.
Instead of automatically enabling `plugins.dap`, require users to
explicitly enable it. This prevents silent re-enabling of dap when
a user has explicitly disabled it.
Push the rename warning down to the actual attributes, to avoid printing
it too early. Additionally, bind the warning to top-level static value,
to avoid printing it multiple times.
Simplify `oldestSupportedReleaseIsAtLeast 2505` to `true`, assuming this
will not be backported.
- Remove the `makeNixvimWithModule` module arg.
- Move standalone wrapper definitions to `wrappers.nix`
- Move `nixvimConfiguration` alias to `nixvim-configurations.nix`
The `import module args` pattern is useful for applying inputs from
outside of the module system, however it discards module location
metadata that is usually associated with file-path modules.
`lib.modules.importApply` solves that problem by wrapping the applied
module using `lib.modules.setDefaultModuleLocation`.
This means documentation, warnings, and errors will show the correct
location.
Previously, we constructed Nixvim's extended lib from the host
configuration's lib.
Naïvely, this potentially allowed fetching fewer Nixpkgs revisions and
instantiating fewer lib instances. However, it also means our `lib`
interface is unstable, especially when the host configuration is using a
different Nixpkgs release to Nixvim.
Automated update of the master maintainers list combining:
- Nixvim specific maintainers from lib/maintainers.nix
- Nixpkgs maintainers referenced in Nixvim modules
Changes: +7 -0 lines
Generated by: flake/dev/generate-all-maintainers/generate-all-maintainers.py
Currently, `types.either` has support for the new valueMeta attribute
added by v2 check and merge, while `types.nullOr` does not.
The `lua` option deprecation warning implemented in
`modules/keymaps.nix` requires `valueMeta`, so re-implement `nullOr`
using `types.either` as a workaround.
The deprecation warning for the keymap-submocule `lua` option relied on
`getSubOptions`, however this is fundamentally flawed because that
function returns uses a different module eval from the one that merges
submodule definitions.
Since definitions are not used by `getSubOptions`,
`options.lua.isDefined` will never be true.
Instead, we have two choices:
1. Add a `luaIsDefined` option to the keymap submodule
2. Use the new v2 merge's `valueMeta` to access the actual module eval
The lib-overlay was previously wrapped using `makeOverridable`, but its
only input is the flake itself, which is not intended to be overridden.
Remove the wrapper and expose the overlay as a plain function.
Previously, `lib/top-level.nix` used an `_isExtended` flag to indicate
whether the provided `lib` was already extended. This made bootstrapping
unclear and introduced the possibility of circular construction.
All construction now flows through the lib-overlay, removing
`_isExtended`. As a result, `lib/top-level.nix` always receives the
final extended lib.
The `<flake>.lib.nixvim` output is now defined as:
(lib.extend <nixvim>.lib.overlay).nixvim
The overlay now imports `top-level.nix` directly, making it the
canonical entrypoint for constructing Nixvim's section of the lib.
A clarifying doccomment was added to `lib/top-level.nix`.
Rename the overlay arguments from the conventional `final: prev:` to the
more explicit `lib: prevLib:`, reflecting that this overlay operates
only on the Nixpkgs lib, rather than a full package set.
Add a doccomment explaining how the overlay is intended to be applied
(via `lib.extend`) and what each argument represents.
Improved inline comments in the overlay.