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 <aszlig@redmoonstudios.org>
This commit is contained in:
aszlig 2016-04-12 04:21:55 +02:00
parent 9f1e536948
commit 9279ec732b
No known key found for this signature in database
GPG key ID: D0EBD0EC8C2DC961

View file

@ -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.
'';
};
};
};