nyx/modules/base/options/meta.nix

51 lines
872 B
Nix
Raw Normal View History

{
lib,
config,
...
}: let
inherit (lib.trivial) id;
inherit (lib.options) mkOption;
inherit (lib.validators) anyHome;
inherit (lib.strings) concatStringsSep;
mkMetaOption = path:
mkOption {
default = anyHome config id path;
example = true;
description = "Does ${concatStringsSep "." path} meet the requirements";
type = lib.types.bool;
};
in {
options.olympus.meta = {
fish = mkMetaOption [
"olympus"
"programs"
"fish"
"enable"
];
thunar = mkMetaOption [
"olympus"
"programs"
"thunar"
"enable"
];
gui = mkMetaOption [
"olympus"
"programs"
"gui"
"enable"
];
isWayland = mkMetaOption [
"olympus"
"meta"
"isWayland"
];
isWM = mkMetaOption [
"olympus"
"meta"
"isWM"
];
};
}