initial commit
This commit is contained in:
commit
ebc1be5217
143 changed files with 7721 additions and 0 deletions
106
modules/aspects/roles.nix
Normal file
106
modules/aspects/roles.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options.dendritic.roles = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
lib.types.submodule (
|
||||
{ ... }:
|
||||
{
|
||||
options = {
|
||||
roles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
features = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
);
|
||||
default = { };
|
||||
};
|
||||
|
||||
config.dendritic.roles = {
|
||||
core-user.features = [
|
||||
"shell"
|
||||
"nh"
|
||||
"system-nix"
|
||||
];
|
||||
|
||||
security-baseline.features = [
|
||||
"security-kernel-hardened"
|
||||
"system-services"
|
||||
"security-systemd"
|
||||
"security-sysctl"
|
||||
"security-firewall"
|
||||
"security-auditd"
|
||||
"security-malware-clamav"
|
||||
"ntp-chrony"
|
||||
"security-usbguard"
|
||||
];
|
||||
|
||||
desktop-wayland.features = [
|
||||
"browser-brave"
|
||||
"wm-niri"
|
||||
"terminal-ghostty"
|
||||
"audio"
|
||||
"bluetooth"
|
||||
"gnupg-agent"
|
||||
"wayland"
|
||||
"proton"
|
||||
"earlyoom"
|
||||
"dolphin"
|
||||
];
|
||||
|
||||
laptop.features = [
|
||||
"hardware-laptop"
|
||||
"security-systemd-bluetooth"
|
||||
];
|
||||
|
||||
server.roles = [
|
||||
"security-baseline"
|
||||
"security-sysctl-strict"
|
||||
];
|
||||
|
||||
server.features = [
|
||||
"security-ssh-hardening"
|
||||
"security-firewall-nftables"
|
||||
"ops-server-base"
|
||||
];
|
||||
|
||||
developer.features = [
|
||||
"developer-cli"
|
||||
"editor-neovim"
|
||||
"containers-podman"
|
||||
"ops-k8s"
|
||||
"virtualization-libvirt"
|
||||
"security-sudo-rs"
|
||||
"security-ssh-client"
|
||||
"dev-devenv"
|
||||
];
|
||||
|
||||
secrets-managed.features = [
|
||||
"secrets-system-sops"
|
||||
"secrets-home-sops"
|
||||
];
|
||||
|
||||
theme-stylix.features = [
|
||||
"theme-system-stylix"
|
||||
"theme-home-stylix"
|
||||
];
|
||||
|
||||
workstation.roles = [
|
||||
"core-user"
|
||||
"security-baseline"
|
||||
"desktop-wayland"
|
||||
"developer"
|
||||
"secrets-managed"
|
||||
"theme-stylix"
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue