blob: 9b1b3c416fa7bec93243ece38e10d6ac8e64394d (
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
48
49
50
51
52
53
54
55
56
57
|
{
flake.modules.nixos.cgit =
{
config,
lib,
pkgs,
...
}:
{
services.cgit."git-server" = {
enable = true;
scanPath = "/var/lib/git-server";
user = "git";
group = "git";
nginx.virtualHost = "git.schererleander.de";
gitHttpBackend = {
enable = true;
checkExportOkFiles = false;
};
settings = {
"root-title" = "My Git Repositories";
"root-desc" = "Self-hosted NixOS Git server";
"clone-url" =
"https://git.schererleander.de/$CGIT_REPO_URL ssh://git@git.schererleander.de/$CGIT_REPO_URL";
"enable-http-clone" = 1;
"enable-commit-graph" = 1;
"enable-log-filecount" = 1;
"enable-log-linecount" = 1;
"branch-sort" = "age";
readme = ":README.md";
"about-filter" = "${pkgs.writeShellScript "cgit-about-filter" ''
case "$1" in
*.md)
${pkgs.lowdown}/bin/lowdown -Thtml --html-no-skiphtml --html-no-escapehtml
;;
*)
${pkgs.coreutils}/bin/cat
;;
esac
''}";
};
};
services.nginx.virtualHosts."git.schererleander.de" = {
forceSSL = true;
sslCertificate = config.sops.secrets."cert_fullchain".path;
sslCertificateKey = config.sops.secrets."cert_private".path;
};
};
}
|