33 lines
709 B
Text
33 lines
709 B
Text
{
|
|
lib,
|
|
options,
|
|
machine,
|
|
...
|
|
}:
|
|
with lib;
|
|
{
|
|
options = {
|
|
custom.program = mkOption {
|
|
type = types.attrsOf (
|
|
types.submodule (
|
|
{ config, ... }:
|
|
{
|
|
options = {
|
|
name = mkOption {
|
|
type = types.string;
|
|
};
|
|
home-config = mkOption {
|
|
type = types.deferredModule;
|
|
};
|
|
system-config = mkOption {
|
|
type = types.deferredModule;
|
|
default = _: { };
|
|
};
|
|
};
|
|
config = if builtins.isNull machine.home-only then config.system-config else config.home-config;
|
|
}
|
|
)
|
|
);
|
|
};
|
|
};
|
|
}
|