From b183caaab8642dc864f0399c80d2d02a4057cf4c Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Wed, 17 Jan 2024 17:31:21 +0800 Subject: [PATCH] flake-parts/home-modules: init --- modules/flake-parts/default.nix | 1 + modules/flake-parts/home-modules.nix | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 modules/flake-parts/home-modules.nix 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. + ''; + }; + }; + }; +}