42 lines
939 B
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
|
||
|
)
|
||
|
);
|
||
|
};
|
||
|
}
|