diff options
author | tv <tv@shackspace.de> | 2015-06-19 01:00:11 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-06-19 01:00:11 +0200 |
commit | e56f2179cb616d5c3773e6d125858fbb52755a3a (patch) | |
tree | c7844cc7f90282ad231a379dcc0b6b8b48562f43 /modules/mors | |
parent | 846a759d7397ab7d7a79e374508c9b68a4024e50 (diff) | |
parent | 98775ff29ec15452a56a6e3262d454c41d7ee87b (diff) |
Merge remote-tracking branch 'mors/master' into morse-merge
Diffstat (limited to 'modules/mors')
-rw-r--r-- | modules/mors/default.nix | 4 | ||||
-rw-r--r-- | modules/mors/git.nix | 71 |
2 files changed, 74 insertions, 1 deletions
diff --git a/modules/mors/default.nix b/modules/mors/default.nix index d9ddd285b..d83d6abc9 100644 --- a/modules/mors/default.nix +++ b/modules/mors/default.nix @@ -25,11 +25,13 @@ ../lass/ircd.nix ../../secrets/mors-pw.nix ./repos.nix + ../lass/chromium-patched.nix + ./git.nix ]; nixpkgs = { url = "https://github.com/Lassulus/nixpkgs"; - rev = "b74c8eeb73a75eb61148c190df4733474a99a205"; + rev = "45c99e522dcc4ef24cf71dbe38d94a308cb30530"; }; networking.hostName = "mors"; diff --git a/modules/mors/git.nix b/modules/mors/git.nix new file mode 100644 index 000000000..1dd61d164 --- /dev/null +++ b/modules/mors/git.nix @@ -0,0 +1,71 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../tv/git + ]; + + services.git = + let + inherit (builtins) readFile; + # TODO lib should already include our stuff + inherit (import ../../lib { inherit lib pkgs; }) addNames git; + + krebs-private = name: desc: + { + inherit desc; + hooks = { + post-receive = git.irc-announce { + nick = config.networking.hostName; # TODO make this the default + channel = "#retiolum"; + server = "ire.retiolum"; + }; + }; + } + in rec { + enable = true; + + users = addNames { + tv = { pubkey = readFile <pubkeys/tv.ssh.pub>; }; + lass = { pubkey = readFile <pubkeys/lass.ssh.pub>; }; + uriel = { pubkey = readFile <pubkeys/lass.ssh.pub>; }; + 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 = "#repository"; + server = "ire.retiolum"; + }; + }; + public = true; + }; + }; + + rules = with git; with users; with repos; [ + { user = lass; + repo = [ testing shitment ]; + perm = push master [ non-fast-forward create delete merge ]; + } + { user = [ tv uriel makefu ]; + repo = [ testing shitment ]; + perm = fetch; + } + ]; + }; +} |