summaryrefslogtreecommitdiffstats
path: root/krebs/3modules/git.nix
diff options
context:
space:
mode:
authorjeschli <jeschli@gmail.com>2018-10-26 12:25:40 +0200
committerjeschli <jeschli@gmail.com>2018-10-26 12:25:40 +0200
commita6670e5090dd71aacd7c7605b12d8d3410d25daa (patch)
tree8475a3cc3583d94959a1cc8b6effcd3b8c10a32a /krebs/3modules/git.nix
parentf6ad60a0c6cbac45e8ba715b24a7a37f8e2560dc (diff)
parent24f4e8dcf0eca55378fa018a9ed980625222653d (diff)
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'krebs/3modules/git.nix')
-rw-r--r--krebs/3modules/git.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix
index 8a923efd..f6b4e3c6 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