mkStandardFeatureFlakeModule
This commit is contained in:
1 file changed
+16
@@ -51,6 +51,22 @@
|
|||||||
flake.homeModules.${moduleName} = func;
|
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.";
|
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 {
|
mkRedundantOption = name: value: attrs: lib.mkOption {
|
||||||
|
|||||||
Reference in new issue
Block a user