mkStandardFeatureFlakeModule
This commit is contained in:
1 file changed
+16
@@ -51,6 +51,22 @@
|
||||
flake.homeModules.${moduleName} = func;
|
||||
};
|
||||
|
||||
mkStandardFeatureFlakeModule = moduleName: { optionName, optionDefinition, systemConfig, homeConfig }: {
|
||||
imports = [ (mkMirroredModulesFlakeModule "${moduleName}Options" ({ lib, ... }: {
|
||||
options.${optionName} = optionDefinition;
|
||||
})) ];
|
||||
|
||||
flake.nixosModules.${moduleName} = { lib, config, ... }: {
|
||||
config = lib.mkIf (config.${optionName}) (mkIfElse (config.features.nixos.home-manager.enable) {
|
||||
home-manager.users.${config.info.userName}.${optionName} = lib.mkDefault true;
|
||||
} systemConfig);
|
||||
};
|
||||
|
||||
flake.homeModules.${moduleName} = { lib, config, ... }: {
|
||||
config = lib.mkIf (config.${optionName}) homeConfig;
|
||||
};
|
||||
};
|
||||
|
||||
mkRedundantOptionDescription = name: value: "The functionality of this option completely depends on `${name}` being `${value}`, and will not be evaluated otherwise.";
|
||||
|
||||
mkRedundantOption = name: value: attrs: lib.mkOption {
|
||||
|
||||
Reference in new issue
Block a user