From 9279ec732b5475540a3abac3ee8cf09e858be107 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 12 Apr 2016 04:21:55 +0200 Subject: [PATCH] nixos/taskserver: Introduce an extraConfig option This is simply to add configuration lines to the generated configuration file. The reason why I didn't went for an attribute set is that the taskdrc file format doesn't map very well on Nix attributes, for example the following can be set in taskdrc: server = somestring server.key = anotherstring In order to use a Nix attribute set for that, it would be way too complicated, for example if we want to represent the mentioned example we'd have to do something like this: { server._top = somestring; server.key = anotherstring; } Of course, this would work as well but nothing is more simple than just appending raw strings. Signed-off-by: aszlig --- nixos/modules/services/misc/taskserver/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 70e162904e9..d82e9f77ea6 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -94,7 +94,7 @@ let in flatten (mapAttrsToList mkSublist attrs); in all isNull (findPkiDefinitions [] manualPkiOptions); - configFile = pkgs.writeText "taskdrc" '' + configFile = pkgs.writeText "taskdrc" ('' # systemd related daemon = false log = - @@ -130,7 +130,7 @@ let server.key = ${cfg.pki.server.key} server.crl = ${cfg.pki.server.crl} ''} - ''; + '' + cfg.extraConfig); orgOptions = { name, ... }: { options.users = mkOption { @@ -363,6 +363,15 @@ in { pki.manual = manualPkiOptions; pki.auto = autoPkiOptions; + + extraConfig = mkOption { + type = types.lines; + default = ""; + example = "client.cert = /tmp/debugging.cert"; + description = '' + Extra lines to append to the taskdrc configuration file. + ''; + }; }; };