stockholm/shared/2configs/cgit-mirror.nix
2016-02-04 14:36:48 +01:00

41 lines
1.2 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
rules = with git; singleton {
user = [ git-sync ];
repo = [ stockholm-mirror ];
perm = push ''refs/*'' [ non-fast-forward create delete merge ];
};
stockholm-mirror = {
public = true;
name = "stockholm-mirror";
desc = "mirror for all stockholm branches";
hooks = {
post-receive = pkgs.git-hooks.irc-announce {
nick = config.networking.hostName;
verbose = false;
channel = "#retiolum";
server = "cd.retiolum";
};
};
};
git-sync = {
name = "git-sync";
mail = "spam@krebsco.de";
# TODO put git-sync pubkey somewhere more appropriate
pubkey = ''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzUuzyoAhMgJmsiaTVWNSXqcrZNTpKpv0nfFBOMcNXUWEbvfAq5eNpg5cX+P8eoYl6UQgfftbYi06flKK3yJdntxoZKLwJGgJt9NZr8yZTsiIfMG8XosvGNQtGPkBtpLusgmPpu7t2RQ9QrqumBvoUDGYEauKTslLwupp1QeyWKUGEhihn4CuqQKiPrz+9vbNd75XOfVZMggk3j4F7HScatmA+p1EQXWyq5Jj78jQN5ZIRnHjMQcIZ4DOz1U96atwSKMviI1xEZIODYfgoGjjiWYeEtKaLVPtSqtLRGI7l+RNouMfwHLdTWOJSlIdFncfPXC6R19hTll3UHeHLtqLP git-sync'';
};
in {
krebs.git = {
enable = true;
root-title = "Shared Repos";
root-desc = "keep on krebsing";
inherit rules;
repos.stockholm-mirror = stockholm-mirror;
};
}