summaryrefslogtreecommitdiffstats
path: root/lass/2configs/git.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lass/2configs/git.nix')
-rw-r--r--lass/2configs/git.nix64
1 files changed, 39 insertions, 25 deletions
diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix
index caa7c3065..300637ff8 100644
--- a/lass/2configs/git.nix
+++ b/lass/2configs/git.nix
@@ -23,6 +23,10 @@ let
];
};
+ cgit-clear-cache = pkgs.cgit-clear-cache.override {
+ inherit (config.krebs.git.cgit.settings) cache-root;
+ };
+
repos =
public-repos //
optionalAttrs config.krebs.build.host.secure restricted-repos;
@@ -30,6 +34,10 @@ let
rules = concatMap make-rules (attrValues repos);
public-repos = mapAttrs make-public-repo {
+ buildbot-classic = {
+ cgit.desc = "fork of buildbot";
+ cgit.section = "software";
+ };
cholerab = {
cgit.desc = "krebs thesauron & enterprise-patterns";
cgit.section = "documentation";
@@ -100,17 +108,20 @@ let
inherit cgit collaborators name;
public = true;
hooks = {
- post-receive = pkgs.git-hooks.irc-announce {
- # TODO make nick = config.krebs.build.host.name the default
- nick = config.krebs.build.host.name;
- channel = "#xxx";
- # TODO define refs in some kind of option per repo
- refs = [
- "refs/heads/master"
- ];
- server = "irc.r";
- verbose = config.krebs.build.host.name == "prism";
- };
+ post-receive = ''
+ ${pkgs.git-hooks.irc-announce {
+ # TODO make nick = config.krebs.build.host.name the default
+ nick = config.krebs.build.host.name;
+ channel = "#xxx";
+ # TODO define refs in some kind of option per repo
+ refs = [
+ "refs/heads/master"
+ ];
+ server = "irc.r";
+ verbose = config.krebs.build.host.name == "prism";
+ }}
+ ${cgit-clear-cache}/bin/cgit-clear-cache
+ '';
};
};
@@ -122,19 +133,22 @@ let
make-restricted-repo = name: { admins ? [], collaborators ? [], announce ? false, hooks ? {}, ... }: {
inherit admins collaborators name;
public = false;
- hooks = optionalAttrs announce {
- post-receive = pkgs.git-hooks.irc-announce {
- # TODO make nick = config.krebs.build.host.name the default
- nick = config.krebs.build.host.name;
- channel = "#xxx";
- # TODO define refs in some kind of option per repo
- refs = [
- "refs/heads/master"
- "refs/heads/staging*"
- ];
- server = "irc.r";
- verbose = false;
- };
+ hooks = {
+ post-receive = ''
+ ${optionalString announce (pkgs.git-hooks.irc-announce {
+ # TODO make nick = config.krebs.build.host.name the default
+ nick = config.krebs.build.host.name;
+ channel = "#xxx";
+ # TODO define refs in some kind of option per repo
+ refs = [
+ "refs/heads/master"
+ "refs/heads/staging*"
+ ];
+ server = "irc.r";
+ verbose = false;
+ })}
+ ${cgit-clear-cache}/bin/cgit-clear-cache
+ '';
} // hooks;
};
@@ -142,7 +156,7 @@ let
with git // config.krebs.users;
repo:
singleton {
- user = [ lass-mors lass-shodan lass-icarus lass-blue ];
+ user = [ lass lass-mors lass-shodan lass-icarus lass-blue ];
repo = [ repo ];
perm = push "refs/*" [ non-fast-forward create delete merge ];
} ++