linde: replace legit with elgit (fork)
1 file changed, 23 insertions(+), 16 deletions(-)
changed files
M system/settings/services/git-server.nix → system/settings/services/git-server.nix
@@ -6,7 +6,9 @@ }: let inherit (lib) pipe flatten concatMapAttrs mapAttrsToList; inherit (import ../../../lib/caddy.nix { inherit lib; }) security-headers; - repos = "${config.services.gitolite.dataDir}/repositories"; + + gitoliteCfg = config.services.gitolite; + repos = "${gitoliteCfg.dataDir}/repositories"; mirrors = { sourcehut = {@@ -67,11 +69,8 @@ mkMirrorWants = repo: map (target: "mirror-to-${target}@${repo}.path"); in { - disabledModules = [ - "services/networking/legit.nix" - ]; imports = [ - <personal/modules/nixos/legit.nix> + <elgit> ]; services.fcgiwrap.instances.gitolite = {@@ -99,15 +98,13 @@ push( @{$RC{ENABLE}}, 'cgit' ); push( @{$RC{ENABLE}}, 'repo-specific-hooks' ); ''; }; - services.legit = { + services.elgit = { enable = true; - package = pkgs.personal.legit-web; - group = "gitolite"; + group = gitoliteCfg.group; settings = { - server.name = "legit.alanpearce.eu"; + server.name = "git.alanpearce.eu"; repo = { - scanPath = repos; - checkGitDaemonExportOk = true; + root = gitoliteCfg.dataDir; ignore = [ "gitolite-admin.git" ];@@ -117,12 +114,12 @@ }; services.gitDaemon = { enable = true; user = "gitolite"; - group = "gitolite"; + group = gitoliteCfg.group; basePath = repos; }; services.caddy.virtualHosts = { - "git.alanpearce.eu" = + "cgit.alanpearce.eu" = let fcgi = config.services.fcgiwrap.instances.gitolite; fcgisocket = "${fcgi.socket.type}/${fcgi.socket.address}";@@ -202,16 +199,17 @@ } ''; }; - "legit.alanpearce.eu" = + "git.alanpearce.eu" = let - server = config.services.legit.settings.server; + settings = config.services.elgit.settings; + server = settings.server; in { useACMEHost = "alanpearce.eu"; extraConfig = '' encode zstd gzip handle_path /static/* { - root * /srv/http/legit/src/static + root * ${settings.dirs.static} file_server } ${security-headers {@@ -229,6 +227,15 @@ }} reverse_proxy ${server.host}:${toString server.port} ''; }; + + "legit.alanpearce.eu" = { + useACMEHost = "alanpearce.eu"; + serverAliases = [ "elgit.alanpearce.eu" ]; + extraConfig = '' + encode zstd gzip + redir https://git.alanpearce.eu{uri} temporary + ''; + }; }; systemd.services = concatMapAttrs createMirrorService mirrors;