summaryrefslogtreecommitdiff
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/domains.nix1
-rw-r--r--nixos/tente-configuration.nix28
2 files changed, 29 insertions, 0 deletions
diff --git a/nixos/domains.nix b/nixos/domains.nix
index 95f0a3c..f087169 100644
--- a/nixos/domains.nix
+++ b/nixos/domains.nix
@@ -4,4 +4,5 @@ in
{
personalWebsite = domain;
tailscaleControlServer = "tailscale.${domain}";
+ gitWebsite = "git.${domain}";
}
diff --git a/nixos/tente-configuration.nix b/nixos/tente-configuration.nix
index bef490c..5ece21a 100644
--- a/nixos/tente-configuration.nix
+++ b/nixos/tente-configuration.nix
@@ -93,6 +93,10 @@ in
dataDir = "/srv/gitolite";
extraGitoliteRc = ''
$RC{UMASK} = 0027;
+ $RC{GIT_CONFIG_KEYS} = 'cgit.* gitweb.*';
+
+ # not working for some reason? still getting `FATAL: git config 'gitweb.description' not allowed` if gitweb.* is omitted in GIT_CONFIG_KEYS
+ # push( @{$RC{ENABLE}}, 'cgit' ); # update description files instead of gitweb.description config
'';
};
@@ -125,6 +129,30 @@ in
forceSSL = true;
root = "/srv/www/${domains.personalWebsite}";
};
+
+ nginx.virtualHosts.${domains.gitWebsite} = {
+ enableACME = true;
+ forceSSL = true;
+ };
+
+ cgit.main = {
+ enable = true;
+ # running as the gitolite user because otherwise cloning a repo via cgit fails with:
+ # fatal: detected dubious ownership in repository
+ user = config.services.gitolite.user;
+ group = config.services.gitolite.group;
+ nginx.virtualHost = domains.gitWebsite;
+ scanPath = "${config.services.gitolite.dataDir}/repositories";
+ settings = {
+ remove-suffix = 1;
+ enable-git-config = 1;
+ root-title = "push-f.com repositories";
+ root-desc = "My various repositories.";
+ enable-index-owner = 0;
+ source-filter = "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
+ clone-prefix = "https://${domains.gitWebsite}";
+ };
+ };
};
security.acme = {