summaryrefslogtreecommitdiff
path: root/modules/nixos/base/security.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-08-15 03:48:19 -0400
committerseth <[email protected]>2024-08-15 03:49:52 -0400
commitafea969091272b9dc640e95f9bd199d49ce2f5fa (patch)
tree11fc1517e21dec76ff2109445b33e5b0f3f83f78 /modules/nixos/base/security.nix
parente4dd32a081e570eb579614ddbd9d1dbbccbba782 (diff)
nixos/base: make security module more customizable
Diffstat (limited to 'modules/nixos/base/security.nix')
-rw-r--r--modules/nixos/base/security.nix37
1 files changed, 26 insertions, 11 deletions
diff --git a/modules/nixos/base/security.nix b/modules/nixos/base/security.nix
index 5c015c7..66a1e7e 100644
--- a/modules/nixos/base/security.nix
+++ b/modules/nixos/base/security.nix
@@ -8,20 +8,35 @@ in
default = config.base.enable;
defaultText = lib.literalExpression "config.base.enable";
};
- };
- # much here is sourced from https://xeiaso.net/blog/paranoid-nixos-2021-07-18/
- config = lib.mkIf cfg.enable {
- security = {
- apparmor.enable = lib.mkDefault true;
- audit.enable = lib.mkDefault true; # TODO: do i really need to set this manually?
- auditd.enable = lib.mkDefault true; # ditto
- polkit.enable = lib.mkDefault true; # ditto
- sudo.execWheelOnly = true;
+ apparmor = lib.mkEnableOption "AppArmor support" // {
+ default = true;
};
- services = {
- dbus.apparmor = lib.mkDefault "enabled";
+ auditing = lib.mkEnableOption "auditing support" // {
+ default = true;
};
};
+
+ # much here is sourced from https://xeiaso.net/blog/paranoid-nixos-2021-07-18/
+ config = lib.mkIf cfg.enable (
+ lib.mkMerge [
+ {
+ security = {
+ polkit.enable = true;
+ sudo.execWheelOnly = true;
+ };
+ }
+ (lib.mkIf cfg.auditing {
+ security = {
+ audit.enable = true;
+ auditd.enable = true;
+ };
+ })
+ (lib.mkIf cfg.apparmor {
+ security.apparmor.enable = true;
+ services.dbus.apparmor = lib.mkDefault "enabled";
+ })
+ ]
+ );
}