From 8fb2fe22c237b25b8af346870e126fdaeaff688b Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sun, 19 Jan 2025 06:06:47 +0000 Subject: [PATCH] flake: add `nixvimModules` flake-parts module --- flake/flake-modules/default.nix | 1 + flake/flake-modules/nixvimModules.nix | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 flake/flake-modules/nixvimModules.nix diff --git a/flake/flake-modules/default.nix b/flake/flake-modules/default.nix index 613ba621cb..736b482bc4 100644 --- a/flake/flake-modules/default.nix +++ b/flake/flake-modules/default.nix @@ -2,6 +2,7 @@ let # Modules for the flakeModules output and the default module defaultModules = { + nixvimModules = ./nixvimModules.nix; nixvimConfigurations = ./nixvimConfigurations.nix; }; diff --git a/flake/flake-modules/nixvimModules.nix b/flake/flake-modules/nixvimModules.nix new file mode 100644 index 0000000000..64562da629 --- /dev/null +++ b/flake/flake-modules/nixvimModules.nix @@ -0,0 +1,27 @@ +{ + lib, + flake-parts-lib, + moduleLocation, + ... +}: +{ + options = { + flake = flake-parts-lib.mkSubmoduleOptions { + nixvimModules = lib.mkOption { + type = with lib.types; lazyAttrsOf deferredModule; + default = { }; + apply = lib.mapAttrs ( + name: module: { + _file = "${toString moduleLocation}#nixvimModules.${name}"; + imports = [ module ]; + } + ); + description = '' + Nixvim modules. + + You may use this for reusable pieces of configuration, utility modules, etc. + ''; + }; + }; + }; +}