summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/cd/default.nix36
1 files changed, 35 insertions, 1 deletions
diff --git a/modules/cd/default.nix b/modules/cd/default.nix
index cc63318c..405c27a8 100644
--- a/modules/cd/default.nix
+++ b/modules/cd/default.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
{
imports =
@@ -44,6 +44,40 @@
enable = true;
};
+ services.git =
+ let
+ inherit (builtins) readFile;
+ # TODO lib should already include our stuff
+ inherit (import ../../lib { inherit lib; }) addNames git;
+ in
+ rec {
+ enable = true;
+
+ users = addNames {
+ tv = { pubkey = readFile <pubkeys/tv.ssh.pub>; };
+ lass = { pubkey = "xxx"; };
+ makefu = { pubkey = "xxx"; };
+ };
+
+ # TODO warn about stale repodirs
+ repos = addNames {
+ testing = {
+ # TODO hooks = { post-receive = ...
+ };
+ };
+
+ rules = with git; with users; with repos; [
+ { user = tv;
+ repo = testing;
+ perm = push master [ non-fast-forward create delete merge ];
+ }
+ { user = [ lass makefu ];
+ repo = testing;
+ perm = fetch;
+ }
+ ];
+ };
+
services.journald.extraConfig = ''
SystemMaxUse=1G
RuntimeMaxUse=128M