This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / git-brain.nix
1.4 kB 81 lines
1{ 2 self, 3 config, 4 lib, 5 pkgs, 6 ... 7}: 8let 9 git = self.inputs.stockholm.lib.git; 10 repos = krebs-repos; 11 rules = lib.concatMap krebs-rules (lib.attrValues krebs-repos); 12 13 krebs-repos = lib.mapAttrs make-krebs-repo { 14 brain = { }; 15 }; 16 17 make-krebs-repo = 18 with git; 19 name: 20 { 21 cgit ? { }, 22 ... 23 }: 24 { 25 inherit cgit name; 26 public = false; 27 hooks = { 28 post-receive = pkgs.git-hooks.irc-announce { 29 nick = config.networking.hostName; 30 verbose = true; 31 channel = "#xxx"; 32 # TODO remove the hardcoded hostname 33 server = "irc.r"; 34 }; 35 }; 36 }; 37 38 # TODO: get the list of all krebsministers 39 krebsminister = with config.krebs.users; [ 40 makefu 41 tv 42 kmein 43 ]; 44 krebs-rules = repo: set-owners repo [ config.krebs.users.lass ] ++ set-ro-access repo krebsminister; 45 46 set-ro-access = 47 with git; 48 repo: user: 49 lib.singleton { 50 inherit user; 51 repo = [ repo ]; 52 perm = fetch; 53 }; 54 55 set-owners = 56 with git; 57 repo: user: 58 lib.singleton { 59 inherit user; 60 repo = [ repo ]; 61 perm = push "refs/*" [ 62 non-fast-forward 63 create 64 delete 65 merge 66 ]; 67 }; 68 69in 70{ 71 imports = [ 72 self.inputs.stockholm.nixosModules.git 73 ]; 74 krebs.git = { 75 enable = true; 76 cgit = { 77 enable = false; 78 }; 79 inherit repos rules; 80 }; 81}