From ddac84e9e6eb49805ad244829ea5add7370a7829 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 21:53:26 +0200 Subject: l green.r: make source.nix ci compatible --- lass/1systems/green/source.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lass/1systems/green') diff --git a/lass/1systems/green/source.nix b/lass/1systems/green/source.nix index 48499c9db..cc7617f92 100644 --- a/lass/1systems/green/source.nix +++ b/lass/1systems/green/source.nix @@ -1,5 +1,4 @@ -{ lib, pkgs, ... }: -{ +{ lib, pkgs, test, ... }: +if test then { nixpkgs-unstable = lib.mkForce { file = "/var/empty"; }; - nixpkgs.git.shallow = true; -} +} else {} -- cgit v1.3.1 From 3ea4c8f5735cd99d8ede55d67deb51d44795db59 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 23 Oct 2021 22:22:38 +0200 Subject: l: fix test sources --- lass/1systems/blue/source.nix | 4 ++-- lass/1systems/green/source.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'lass/1systems/green') diff --git a/lass/1systems/blue/source.nix b/lass/1systems/blue/source.nix index 2a4e1336b..0b2bf5f5b 100644 --- a/lass/1systems/blue/source.nix +++ b/lass/1systems/blue/source.nix @@ -1,5 +1,5 @@ { lib, pkgs, test, ... }: -if test then { +if test then {} else { nixpkgs = lib.mkIf (! test) (lib.mkForce { file = { path = toString (pkgs.fetchFromGitHub { @@ -14,4 +14,4 @@ if test then { nixpkgs-unstable = lib.mkForce { file.path = "/var/empty"; }; -} else {} +} diff --git a/lass/1systems/green/source.nix b/lass/1systems/green/source.nix index cc7617f92..da137e064 100644 --- a/lass/1systems/green/source.nix +++ b/lass/1systems/green/source.nix @@ -1,4 +1,4 @@ { lib, pkgs, test, ... }: -if test then { +if test then {} else { nixpkgs-unstable = lib.mkForce { file = "/var/empty"; }; -} else {} +} -- cgit v1.3.1 From 3a7c33394328108cc9159de89367a90701fcbc80 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 25 Oct 2021 19:52:54 +0200 Subject: l green.r: add brain repo --- lass/1systems/green/config.nix | 9 +++++++ lass/2configs/git-brain.nix | 57 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 lass/2configs/git-brain.nix (limited to 'lass/1systems/green') diff --git a/lass/1systems/green/config.nix b/lass/1systems/green/config.nix index d7bf62b40..b41e396c9 100644 --- a/lass/1systems/green/config.nix +++ b/lass/1systems/green/config.nix @@ -17,6 +17,8 @@ with import ; + + ]; krebs.build.host = config.krebs.hosts.green; @@ -68,6 +70,13 @@ with import ; ]; clearTarget = true; }; + "/var/lib/git" = { + source = "/var/state/git"; + options = [ + "-M ${toString config.users.users.git.uid}" + ]; + clearTarget = true; + }; }; systemd.services."bindfs-_home_lass_Maildir".serviceConfig.ExecStartPost = pkgs.writeDash "symlink-notmuch" '' diff --git a/lass/2configs/git-brain.nix b/lass/2configs/git-brain.nix new file mode 100644 index 000000000..1c6f92fcd --- /dev/null +++ b/lass/2configs/git-brain.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: +with import ; +let + + repos = krebs-repos; + rules = concatMap krebs-rules (attrValues krebs-repos); + + krebs-repos = mapAttrs make-krebs-repo { + brain = { }; + krebs-secrets = { }; + }; + + + make-krebs-repo = with git; name: { cgit ? {}, ... }: { + inherit cgit name; + public = false; + hooks = { + post-receive = pkgs.git-hooks.irc-announce { + nick = config.networking.hostName; + verbose = true; + channel = "#xxx"; + # TODO remove the hardcoded hostname + server = "irc.r"; + }; + }; + }; + + + + # TODO: get the list of all krebsministers + krebsminister = with config.krebs.users; [ makefu tv ]; + krebs-rules = repo: + set-owners repo [ config.krebs.users.lass ] ++ set-ro-access repo krebsminister; + + set-ro-access = with git; repo: user: + singleton { + inherit user; + repo = [ repo ]; + perm = fetch; + }; + + set-owners = with git;repo: user: + singleton { + inherit user; + repo = [ repo ]; + perm = push "refs/*" [ non-fast-forward create delete merge ]; + }; + +in { + krebs.git = { + enable = true; + cgit = { + enable = false; + }; + inherit repos rules; + }; +} -- cgit v1.3.1