summaryrefslogtreecommitdiffstats
path: root/lib/types.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2023-02-05 00:41:47 +0100
committertv <tv@krebsco.de>2023-02-05 01:40:20 +0100
commit377840226c448fd44f616b77e6057cd414f12480 (patch)
tree23c210069771d799956ece0cf70abdfea1987e5d /lib/types.nix
parent3b04273d5cf816897ba6f0b1879bea259726703b (diff)
lib.types.svg.color-keyword: init
Diffstat (limited to 'lib/types.nix')
-rw-r--r--lib/types.nix17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/types.nix b/lib/types.nix
index f7c491645..4bb8c173f 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -3,8 +3,8 @@
let
inherit (lib)
all any attrNames concatMapStringsSep concatStringsSep const filter flip
- genid_uint31 hasSuffix head isInt isString length mergeOneOption mkOption
- mkOptionType optional optionalAttrs optionals range splitString
+ genid_uint31 hasSuffix head importJSON isInt isString length mergeOneOption
+ mkOption mkOptionType optional optionalAttrs optionals range splitString
stringLength substring test testString typeOf;
inherit (lib.types)
attrsOf bool either enum int lines listOf nullOr path str submodule;
@@ -613,6 +613,19 @@ rec {
merge = mergeOneOption;
};
+ # SVG 1.1, 4.4 Recognized color keyword names
+ #
+ # svg-colors.json has been generated with:
+ # curl -sS https://www.w3.org/TR/SVG11/types.html#ColorKeywords |
+ # fq -d html '[
+ # grep_by(.["@class"]=="color-keywords") |
+ # grep_by(.["@class"]=="prop-value"and.["#text"]!="").["#text"]
+ # ] | sort'
+ #
+ svg.color-keyword = enum (importJSON ./svg-colors.json) // {
+ name = "SVG 1.1 recognized color keyword";
+ };
+
systemd.unit-name = mkOptionType {
name = "systemd unit name";
check = x: