krebs.sitemap: init

This commit is contained in:
tv 2017-08-01 11:27:03 +02:00
parent bcc1a72d6a
commit 5742f32289
2 changed files with 21 additions and 1 deletions

View File

@ -70,6 +70,12 @@ let
type = types.hostname; type = types.hostname;
default = "r"; default = "r";
}; };
sitemap = mkOption {
default = {};
type = types.attrsOf types.sitemap.entry;
};
zone-head-config = mkOption { zone-head-config = mkOption {
type = with types; attrsOf str; type = with types; attrsOf str;
description = '' description = ''

View File

@ -5,7 +5,7 @@ let
all any concatMapStringsSep concatStringsSep const filter flip all any concatMapStringsSep concatStringsSep const filter flip
genid hasSuffix head isInt isString length mergeOneOption mkOption genid hasSuffix head isInt isString length mergeOneOption mkOption
mkOptionType optional optionalAttrs optionals range splitString mkOptionType optional optionalAttrs optionals range splitString
stringLength substring test typeOf; stringLength substring test testString typeOf;
inherit (lib.types) inherit (lib.types)
attrsOf bool either enum int listOf nullOr path str string submodule; attrsOf bool either enum int listOf nullOr path str string submodule;
in in
@ -357,6 +357,20 @@ rec {
pgp-pubkey = str; pgp-pubkey = str;
sitemap.entry = submodule ({ config, ... }: {
options = {
desc = mkOption {
default = null;
type = nullOr str;
};
href = mkOption {
${if testString "https?://.*" config._module.args.name
then "default" else null} = config._module.args.name;
type = nullOr str; # TODO nullOr uri?
};
};
});
ssh-pubkey = str; ssh-pubkey = str;
ssh-privkey = submodule { ssh-privkey = submodule {
options = { options = {