Add support for home-manager outputs

This commit is contained in:
Archit Gupta 2023-04-22 11:13:33 -07:00
parent 7940d0c53f
commit f9967894bb

View File

@ -110,6 +110,9 @@ let
"nixosModule" "nixosModule"
"nixosModules" "nixosModules"
"nixosConfigurations" "nixosConfigurations"
"homeModule"
"homeModules"
"homeConfigurations"
"template" "template"
"templates" "templates"
"formatters" "formatters"
@ -170,6 +173,8 @@ let
checks = fnMergeAttrs; checks = fnMergeAttrs;
nixosModules = mergeAttrs; nixosModules = mergeAttrs;
nixosConfigurations = mergeAttrs; nixosConfigurations = mergeAttrs;
homeModules = mergeAttrs;
homeConfigurations = mergeAttrs;
templates = mergeAttrs; templates = mergeAttrs;
formatters = fnMergeAttrs; formatters = fnMergeAttrs;
}; };
@ -295,6 +300,8 @@ let
checks = _: { }; checks = _: { };
nixosModules = { }; nixosModules = { };
nixosConfigurations = { }; nixosConfigurations = { };
homeModules = { };
homeConfigurations = { };
templates = { }; templates = { };
formatters = _: { }; formatters = _: { };
}; };
@ -331,6 +338,11 @@ let
default = module'.nixosModule; default = module'.nixosModule;
}; };
nixosConfigurations = applyNonSysArgs module'.nixosConfigurations; nixosConfigurations = applyNonSysArgs module'.nixosConfigurations;
homeModules = (applyNonSysArgs module'.homeModules)
// optionalAttrs (module' ? homeModule) {
default = module'.homeModule;
};
homeConfigurations = applyNonSysArgs module'.homeConfigurations;
templates = (applyNonSysArgs module'.templates) templates = (applyNonSysArgs module'.templates)
// optionalAttrs (module' ? template) { // optionalAttrs (module' ? template) {
default = module'.template; default = module'.template;
@ -452,6 +464,17 @@ let
}) })
merged.nixosConfigurations); merged.nixosConfigurations);
}) })
(optionalAttrs (merged.homeModules != { }) {
inherit (merged) homeModules;
})
(optionalAttrs (merged.homeConfigurations != { }) {
inherit (merged) homeConfigurations;
checks = recUpdateSets (mapAttrsToList
(n: v: {
${v.config.nixpkgs.system}."home-${n}" = v.activationPackage;
})
merged.homeConfigurations);
})
(optionalAttrs (merged.templates != { }) { (optionalAttrs (merged.templates != { }) {
inherit (merged) templates; inherit (merged) templates;
}) })