refactor: massively overhaul home manager module system

This commit is contained in:
Youwen Wu 2024-12-25 19:47:59 -08:00
parent b2270408fc
commit a506d2aed4
Signed by: youwen
GPG key ID: 865658ED1FE61EC3
64 changed files with 5201 additions and 64 deletions

View file

@ -0,0 +1,35 @@
{
inputs,
lib,
config,
osConfig,
...
}:
let
cfg = config.liminalOS;
in
{
options.liminalOS = {
formFactor = lib.mkOption {
type = lib.types.nullOr (
lib.types.enum [
"laptop"
"desktop"
]
);
default = osConfig.liminalOS.formFactor;
description = ''
Form factor of the machine. Adjusts some UI features. Inherited from system configuration liminalOS.formFactor if set, otherwise you must set it here.
'';
};
};
config = {
assertions = [
{
assertion = cfg.formFactor != null;
message = "You must set liminalOS.formFactor either in the home-manager configuration for the user or in the OS configuration for the system!";
}
];
};
}