diff options
-rw-r--r-- | nixos/modules/services/databases/cassandra.nix | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index 90c094f68b61b..d55a7db39150f 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -38,13 +38,18 @@ let cassandraYaml = builtins.toJSON cassandraConfigWithAddresses; cassandraEnvPkg = "${cfg.package}/conf/cassandra-env.sh"; cassandraLogbackConfig = pkgs.writeText "logback.xml" cfg.logbackConfig; + passAsFile = [ "extraEnvSh" ]; + inherit (cfg) extraEnvSh; buildCommand = '' mkdir -p "$out" echo "$cassandraYaml" > "$out/cassandra.yaml" ln -s "$cassandraLogbackConfig" "$out/logback.xml" - cp "$cassandraEnvPkg" "$out/cassandra-env.sh" + ( cat "$cassandraEnvPkg" + echo "# lines from services.cassandra.extraEnvSh: " + cat "$extraEnvShPath" + ) > "$out/cassandra-env.sh" # Delete default JMX Port, otherwise we can't set it using env variable sed -i '/JMX_PORT="7199"/d' "$out/cassandra-env.sh" @@ -224,6 +229,14 @@ in { Extra options to be merged into cassandra.yaml as nix attribute set. ''; }; + extraEnvSh = mkOption { + type = types.lines; + default = ""; + example = "CLASSPATH=$CLASSPATH:\${extraJar}"; + description = '' + Extra shell lines to be appended onto cassandra-env.sh. + ''; + }; fullRepairInterval = mkOption { type = types.nullOr types.str; default = "3w"; |