1
0
Fork 0
nixfiles/modules/akne/default.nix

42 lines
939 B
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.clerie.akne;
in {
options = {
clerie.akne = {
enable = mkEnableOption "Makes fun stuff with the nixos acme module.";
selfSigneOnlyHostNames = mkOption {
type = with types; listOf str;
default = {};
description = "List of hostnames for which the acme client gets disabled. This hostnames use the self-signed certs instead.";
};
};
};
config = {
systemd.services = with lib; listToAttrs (
flatten (
map (
name: [
(
nameValuePair "acme-${name}" {
enable = false;
wantedBy = mkForce [];
}
)
(
nameValuePair "acme-selfsigned-${name}" {
wantedBy = [ "multi-user.target" ];
}
)
]
) cfg.selfSigneOnlyHostNames
)
);
};
}