blob: 4dde27ff41d6b461f34bebbc3e91447da77a3694 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
{ pkgs, lib, config, ... }:
let
root = "/srv/git";
in {
services = {
gitolite = {
enable = true;
enableGitAnnex = true;
dataDir = root;
user = "git";
group = "git";
extraGitoliteRc = ''
$RC{SITE_INFO} = 'a computer is a bicycle for the mind.';
'';
adminPubkey = lib.trivial.pipe ../Keys/Ben.pub [
builtins.readFile
(lib.strings.splitString "\n")
lib.lists.head
];
# TODO: this is broken
# commonHooks = [ ./git-hooks ];
};
gitDaemon = {
enable = true;
basePath = "${root}/repositories";
repositories = map (p: "${root}/repositories/${p}") [
"nixpkgs.git"
"ben/bin.git"
"ben/cfg.git"
];
listenAddress = "simatime.com";
user = "gitDaemon";
group = "gitDaemon";
};
};
users.users = {
gitDaemon = {
#uid = config.ids.uids.gitDaemon;
description = "Git daemon user";
extraGroups = [ "git" ];
};
};
users.groups = {
gitDaemon = {};
};
}
|