summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2019-05-06 01:43:35 -0500
committerWill Dietz <w@wdtz.org>2019-05-06 23:44:38 -0500
commitb809071ffbfb58bad5baf7480b08e951bb0c2744 (patch)
tree37e1b43973f3792dee3f84fcad83e563bad7a95c
parent5e407fcbb03c5a4b3cde91317157238adda24887 (diff)
downloadnixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar.gz
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar.bz2
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar.lz
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar.xz
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.tar.zst
nixpkgs-b809071ffbfb58bad5baf7480b08e951bb0c2744.zip
rngd: add option to run w/debug flag
Added while testing if adding hardening
directives to the service blocked access
to various sources, might be useful in the future.
-rw-r--r--nixos/modules/security/rngd.nix33
1 files changed, 23 insertions, 10 deletions
diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix
index a54ef2e6fca..60361d9960e 100644
--- a/nixos/modules/security/rngd.nix
+++ b/nixos/modules/security/rngd.nix
@@ -2,20 +2,30 @@
 
 with lib;
 
+let
+  cfg = config.security.rngd;
+in
 {
   options = {
-    security.rngd.enable = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to enable the rng daemon, which adds entropy from
-        hardware sources of randomness to the kernel entropy pool when
-        available.
-      '';
+    security.rngd = {
+      enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to enable the rng daemon, which adds entropy from
+          hardware sources of randomness to the kernel entropy pool when
+          available.
+        '';
+      };
+      debug = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable debug output (-d).";
+      };
     };
   };
 
-  config = mkIf config.security.rngd.enable {
+  config = mkIf cfg.enable {
     services.udev.extraRules = ''
       KERNEL=="random", TAG+="systemd"
       SUBSYSTEM=="cpu", ENV{MODALIAS}=="cpu:type:x86,*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
@@ -29,7 +39,10 @@ with lib;
 
       description = "Hardware RNG Entropy Gatherer Daemon";
 
-      serviceConfig.ExecStart = "${pkgs.rng-tools}/sbin/rngd -f";
+      serviceConfig = {
+        ExecStart = "${pkgs.rng-tools}/sbin/rngd -f"
+          + optionalString cfg.debug " -d";
+      };
     };
   };
 }