diff --git a/all-modules.nix b/all-modules.nix index bc194a5..b1508be 100644 --- a/all-modules.nix +++ b/all-modules.nix @@ -2,6 +2,7 @@ { imports = [ ./modules/checks.nix + ./modules/darwinModules.nix ./modules/devShell.nix ./modules/flake.nix ./modules/legacyPackages.nix diff --git a/modules/darwinModules.nix b/modules/darwinModules.nix new file mode 100644 index 0000000..fb3df5b --- /dev/null +++ b/modules/darwinModules.nix @@ -0,0 +1,27 @@ +{ config, self, lib, flake-modules-core-lib, ... }: +let + inherit (lib) + filterAttrs + mapAttrs + mkOption + optionalAttrs + types + ; + inherit (flake-modules-core-lib) + mkSubmoduleOptions + ; +in +{ + options = { + flake = mkSubmoduleOptions { + darwinModules = mkOption { + type = types.lazyAttrsOf types.unspecified; + default = { }; + apply = mapAttrs (k: v: { _file = "${toString self.outPath}/flake.nix#darwinModules.${k}"; imports = [ v ]; }); + description = '' + Nix-darwin modules. + ''; + }; + }; + }; +}