From ca7048e27cfdc354dd0fdf17e971548cb0adbba9 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 18 Jun 2015 23:59:14 +0200 Subject: host cd: move git config to separate file --- modules/cd/git.nix | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 modules/cd/git.nix (limited to 'modules/cd/git.nix') diff --git a/modules/cd/git.nix b/modules/cd/git.nix new file mode 100644 index 000000000..88d4968a6 --- /dev/null +++ b/modules/cd/git.nix @@ -0,0 +1,59 @@ +{ config, lib, pkgs, ... }: + +let + inherit (builtins) readFile; + # TODO lib should already include our stuff + inherit (import ../../lib { inherit lib pkgs; }) addNames git; +in + +{ + imports = [ + ../tv/git + ]; + + services.git = rec { + enable = true; + + users = addNames { + tv = { pubkey = readFile ; }; + lass = { pubkey = "xxx"; }; + makefu = { pubkey = "xxx"; }; + }; + + repos = addNames { + shitment = { + desc = "shitment repository"; + hooks = { + post-receive = git.irc-announce { + nick = config.networking.hostName; # TODO make this the default + channel = "#retiolum"; + server = "ire.retiolum"; + }; + }; + public = true; + }; + testing = { + desc = "testing repository"; + hooks = { + post-receive = git.irc-announce { + nick = config.networking.hostName; # TODO make this the default + channel = "#retiolum"; + server = "ire.retiolum"; + }; + }; + public = true; + }; + }; + + rules = with git; with users; with repos; [ + { user = tv; + repo = [ testing shitment ]; + perm = push "refs/*" [ non-fast-forward create delete merge ]; + } + { user = [ lass makefu ]; + repo = [ testing shitment ]; + perm = fetch; + } + ]; + }; +} -- cgit v1.2.3