neovim-flake/modules/default.nix
jules d6a199a746
fix: lib.strings.toString does not exist in nixpkgs, replaced with builtins.toString
this was causing an error when I tried to access modulesPath which
caused this to be evaluated and caused an error since this no longer
exists at this path in nixpkgs.lib
2026-04-29 11:19:22 -04:00

51 lines
1.3 KiB
Nix

{
self,
inputs,
lib,
}: {
pkgs,
extraSpecialArgs ? {},
modules ? [],
# deprecated
extraModules ? [],
configuration ? {},
}: let
inherit (builtins) toString;
inherit (lib.lists) concatLists;
# import modules.nix with `check`, `pkgs` and `lib` as arguments
# check can be disabled while calling this file is called
# to avoid checking in all modules
nvimModules = import ./modules.nix {inherit pkgs lib;};
# evaluate the extended library with the modules
# optionally with any additional modules passed by the user
module = lib.evalModules {
specialArgs =
extraSpecialArgs
// {
inherit self inputs;
modulesPath = toString ./.;
};
modules = concatLists [
nvimModules
modules
(lib.optional (configuration != {}) (lib.warn ''
nvf: passing 'configuration' to lib.neovimConfiguration is deprecated.
''
configuration))
(lib.optionals (extraModules != []) (lib.warn ''
nvf: passing 'extraModules' to lib.neovimConfiguration is deprecated, use 'modules' instead.
''
extraModules))
];
};
in {
inherit (module) options config;
inherit (module._module.args) pkgs;
# Expose wrapped neovim-package for userspace
# or module consumption.
neovim = module.config.vim.build.finalPackage;
}