+++ /dev/null
-{ gitweb, writeText, gitolite, git, gitoliteDir, highlight }:
-rec {
- varDir = gitoliteDir;
- webRoot = gitweb;
- config = writeText "gitweb.conf" ''
- $git_temp = "/tmp";
-
- # The directories where your projects are. Must not end with a
- # slash.
- $projectroot = "${varDir}/repositories";
-
- $projects_list = "${varDir}/projects.list";
- $strict_export = "true";
-
- # Base URLs for links displayed in the web interface.
- our @git_base_url_list = qw(ssh://gitolite@git.immae.eu https://git.immae.eu);
-
- $feature{'blame'}{'default'} = [1];
- $feature{'avatar'}{'default'} = ['gravatar'];
- $feature{'highlight'}{'default'} = [1];
-
- @stylesheets = ("gitweb-theme/gitweb.css");
- $logo = "gitweb-theme/git-logo.png";
- $favicon = "gitweb-theme/git-favicon.png";
- $javascript = "gitweb-theme/gitweb.js";
- $logo_url = "https://git.immae.eu/";
- $projects_list_group_categories = "true";
- $projects_list_description_width = 60;
- $project_list_default_category = "__Others__";
- $highlight_bin = "${highlight}/bin/highlight";
- '';
- apache = rec {
- user = "wwwrun";
- group = "wwwrun";
- modules = [ "cgid" ];
- webappName = "tools_gitweb";
- root = "/run/current-system/webapps/${webappName}";
- vhostConf = ''
- SetEnv GIT_PROJECT_ROOT ${varDir}/repositories/
- ScriptAliasMatch \
- "(?x)^/(.*/(HEAD | \
- info/refs | \
- objects/(info/[^/]+ | \
- [0-9a-f]{2}/[0-9a-f]{38} | \
- pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
- git-(upload|receive)-pack))$" \
- ${git}/libexec/git-core/git-http-backend/$1
-
- <Directory "${git}/libexec/git-core">
- Require all granted
- </Directory>
- <Directory "${root}">
- DirectoryIndex gitweb.cgi
- Require all granted
- AllowOverride None
- Options ExecCGI FollowSymLinks
- <Files gitweb.cgi>
- SetHandler cgi-script
- SetEnv GITWEB_CONFIG "${config}"
- </Files>
- </Directory>
- '';
- };
-}