X-Git-Url: http://git.scottworley.com/nixos-make-certs/blobdiff_plain/6c45062740e80eefefe5f0537495e65bfd6ebae2..HEAD:/modules/make-certs.nix?ds=inline diff --git a/modules/make-certs.nix b/modules/make-certs.nix index e77c84d..2da6e7d 100644 --- a/modules/make-certs.nix +++ b/modules/make-certs.nix @@ -1,13 +1,13 @@ { lib, config, pkgs, ... }: let - inherit (lib) escapeShellArg; + inherit (lib) escapeShellArg stringAfter; mkActvationScript = name: cert-cfg: let pem-path = "${cert-cfg.dir}/${name}.pem"; key-path = "${cert-cfg.dir}/${name}.key"; in { name = "make-cert-${name}"; - value = '' + value = stringAfter [ "users" ] ('' if [[ ! -e ${escapeShellArg pem-path} ]];then ${pkgs.coreutils}/bin/mkdir -p ${escapeShellArg cert-cfg.dir} ${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa:4096 \ @@ -22,11 +22,16 @@ let '' + lib.optionalString cert-cfg.print '' echo Public certificate for ${escapeShellArg name}: >&2 ${pkgs.coreutils}/bin/cat ${escapeShellArg pem-path} >&2 - ''; + ''); }; in { options = { chkno.make-certs = lib.mkOption { + description = "Certificates to generate."; + example = { + send-email.user = "stunnel"; + send-print.user = "stunnel"; + }; type = lib.types.attrsOf (lib.types.submodule { options = { dir = lib.mkOption {