diff --git a/modules/flake-parts/default.nix b/modules/flake-parts/default.nix index 5def00ce..e3f9deee 100644 --- a/modules/flake-parts/default.nix +++ b/modules/flake-parts/default.nix @@ -8,6 +8,7 @@ imports = [ ./images.nix ./deploy-rs-nodes.nix + ./home-modules.nix ./setups ]; } diff --git a/modules/flake-parts/home-modules.nix b/modules/flake-parts/home-modules.nix new file mode 100644 index 00000000..24f5f797 --- /dev/null +++ b/modules/flake-parts/home-modules.nix @@ -0,0 +1,22 @@ +{ lib, flake-parts-lib, moduleLocation, ... }: + +{ + options = { + flake = flake-parts-lib.mkSubmoduleOptions { + homeModules = lib.mkOption { + type = with lib.types; lazyAttrsOf unspecified; + default = { }; + apply = lib.mapAttrs (k: v: { + _file = "${toString moduleLocation}#homeModules.${k}"; + imports = [ v ]; + }); + description = '' + home-manager modules. + + You may use this to export reusable pieces of configuration, service + modules, etc. + ''; + }; + }; + }; +}