aszlig 829566a23d
nixos/docker-containers: Fix submodule usage
The submodule of the "docker-containers" option isn't recognized as a
proper submodule and thus neither properly type-checks nor are its
options included in the manual.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-10-12 02:07:47 +02:00

30 lines
645 B
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.docker-containers;
containerModule = {
options.script = mkOption {
type = types.lines;
description = "Shell commands executed as the service's main process.";
};
};
toContainer = name: value: pkgs.dockerTools.buildImage {
inherit name;
config = {
Cmd = [ value.script ];
};
};
in {
options.docker-containers = mkOption {
default = {};
type = with types; attrsOf (types.submodule containerModule);
description = "Definition of docker containers";
};
config.system.build.toplevel-docker = lib.mapAttrs toContainer cfg;
}