mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-21 17:59:41 +01:00
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`.
41 lines
1,004 B
Nix
41 lines
1,004 B
Nix
{
|
|
self,
|
|
config,
|
|
lib,
|
|
withSystem,
|
|
...
|
|
}:
|
|
{
|
|
# Expose lib as a flake-parts module arg
|
|
_module.args = {
|
|
helpers = self.lib.nixvim;
|
|
};
|
|
|
|
# Public `lib` flake output
|
|
flake.lib = {
|
|
nixvim = lib.makeOverridable ({ lib }: (lib.extend self.lib.overlay).nixvim) {
|
|
inherit lib;
|
|
};
|
|
overlay = lib.makeOverridable (import ../lib/overlay.nix) {
|
|
flake = self;
|
|
};
|
|
# Top-top-level aliases
|
|
inherit (self.lib.nixvim)
|
|
evalNixvim
|
|
;
|
|
}
|
|
// lib.genAttrs config.systems (
|
|
lib.flip withSystem (
|
|
{ pkgs, system, ... }:
|
|
{
|
|
# NOTE: this is the publicly documented flake output we've had for a while
|
|
check = pkgs.callPackage ../lib/tests.nix {
|
|
inherit lib self system;
|
|
};
|
|
|
|
# NOTE: no longer needs to be per-system
|
|
helpers = lib.warn "nixvim: `<nixvim>.lib.${system}.helpers` has been moved to `<nixvim>.lib.nixvim` and no longer depends on a specific system" self.lib.nixvim;
|
|
}
|
|
)
|
|
);
|
|
}
|