feat(systemModules:host): add initial host configuration module

used to define general host configuration, including:

- hardware
- name
- admin
- type
- role
This commit is contained in:
ooks-io 2024-04-29 18:48:18 +12:00
parent 6db577fbf5
commit 7a74befde3
19 changed files with 538 additions and 0 deletions

View file

@ -0,0 +1,19 @@
{ lib, ... }:
let
inherit (lib) types mkOption;
in
{
imports = [
./gaming
./workstation
./media-server
];
options.systemModules.host.function = mkOption {
type = with types; listOf (enum ["gaming" "workstation" "media-server"]);
default = [];
description = "Host's primary function/s";
};
}

View file

@ -0,0 +1,29 @@
{ lib, config, ... }:
let
inherit (lib) mkIf;
inherit (builtins) elem;
function = config.systemModules.host.function;
in
{
config = mkIf (elem "workstation" function) {
systemModules = {
audio.enable = true;
video.enable = true;
programs = {
dconf.enable = true;
wireshark.enable = true;
bandwhich.enable = true;
kdeconnect.enable = true;
};
services = {
}
}
}
}