diff options
author | tv <tv@krebsco.de> | 2018-09-28 16:18:47 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2018-09-28 16:18:47 +0200 |
commit | b29452cfc3f9785098c530e52f71233876d3ca94 (patch) | |
tree | d1a8868291c9b12cd7afbdde3bf50386ff62a349 | |
parent | a93aaeecd65843b6daab9c4030862fe859c435f7 (diff) |
krebs.git.cgit: support per-repo readmes
-rw-r--r-- | krebs/3modules/git.nix | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index 8a923efd2..f6b4e3c69 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -121,6 +121,10 @@ let cgit-settings = types.submodule { # A setting's value of `null` means cgit's default should be used. options = { + about-filter = mkOption { + type = types.nullOr types.package; + default = null; + }; cache-root = mkOption { type = types.absolute-pathname; default = "/tmp/cgit"; @@ -166,6 +170,10 @@ let types.nullOr (types.enum ["week" "month" "quarter" "year"]); default = "year"; }; + readme = mkOption { + type = types.listOf types.str; + default = []; + }; robots = mkOption { type = types.nullOr (types.listOf types.str); default = ["nofollow" "noindex"]; @@ -394,8 +402,14 @@ let kv-to-cgitrc = k: v: getAttr (typeOf v) { bool = kv-to-cgitrc k (if v then 1 else 0); null = []; # This will be removed by `flatten`. - list = "${k}=${concatStringsSep ", " v}"; + list = { + readme = map (x: "readme=${x}") v; + }.${k} or "${k}=${concatStringsSep ", " v}"; int = "${k}=${toString v}"; + set = + if subtypes.cgit-settings.check v + then "${k}=${v}" + else error "kv-to-cgitrc: unhandled type: set"; string = "${k}=${v}"; }; in |