summary refs log tree commit diff
path: root/nixos/modules/services/monitoring/riemann.nix
diff options
context:
space:
mode:
authorRickard Nilsson <rickynils@gmail.com>2014-11-19 12:55:42 +0100
committerRickard Nilsson <rickynils@gmail.com>2014-11-19 12:56:42 +0100
commit76f065a8de0e2bc78de09516109ce4b7d58a2142 (patch)
treefc6362a474a71b4e3b92e268fc8f5e86febbcf0d /nixos/modules/services/monitoring/riemann.nix
parentaa9c9aecbe89434af82e4e08a90a51f6efdefa5b (diff)
downloadnixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar.gz
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar.bz2
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar.lz
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar.xz
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.tar.zst
nixpkgs-76f065a8de0e2bc78de09516109ce4b7d58a2142.zip
nixos/riemann: Add option configFiles
Diffstat (limited to 'nixos/modules/services/monitoring/riemann.nix')
-rw-r--r--nixos/modules/services/monitoring/riemann.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/nixos/modules/services/monitoring/riemann.nix b/nixos/modules/services/monitoring/riemann.nix
index a1935c29a04..ab37d717b86 100644
--- a/nixos/modules/services/monitoring/riemann.nix
+++ b/nixos/modules/services/monitoring/riemann.nix
@@ -11,11 +11,15 @@ let
     cfg.extraClasspathEntries ++ [ "${riemann}/share/java/riemann.jar" ]
   );
 
+  riemannConfig = concatStringsSep "\n" (
+    [cfg.config] ++ (map (f: ''(load-file "${f}")'') cfg.configFiles)
+  );
+
   launcher = writeScriptBin "riemann" ''
     #!/bin/sh
     exec ${openjdk}/bin/java ${concatStringsSep "\n" cfg.extraJavaOpts} \
       -cp ${classpath} \
-      riemann.bin ${writeText "riemann.config" cfg.config}
+      riemann.bin ${writeText "riemann-config.clj" riemannConfig}
   '';
 
 in {
@@ -36,6 +40,16 @@ in {
           Contents of the Riemann configuration file.
         '';
       };
+      configFiles = mkOption {
+        type = with types; listOf path;
+        default = [];
+        description = ''
+          Extra files containing Riemann configuration. These files will be
+          loaded at runtime by Riemann (with Clojure's
+          <literal>load-file</literal> function) at the end of the
+          configuration.
+        '';
+      };
       extraClasspathEntries = mkOption {
         type = with types; listOf str;
         default = [];