aboutsummaryrefslogtreecommitdiff
path: root/modules/services/cgit.nix
blob: ad99d3ddf5a4a725d62cab3150e76a8facb113e1 (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
{
  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";
        };
      };

      services.nginx.virtualHosts."git.schererleander.de" = {
        forceSSL = true;
        sslCertificate = config.sops.secrets."cert_fullchain".path;
        sslCertificateKey = config.sops.secrets."cert_private".path;
      };
    };
}