]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - virtual/packages/gitweb.nix
Override database packages globally
[perso/Immae/Config/Nix.git] / virtual / packages / gitweb.nix
CommitLineData
cf80b4f2
IB
1with import ../../libs.nix;
2with nixpkgs_unstable;
3let
4 gitweb = rec {
5 varDir = "/var/lib/gitolite";
6 webRoot = pkgs.gitweb.overrideAttrs(old: {
7 installPhase = old.installPhase + ''
8 cp -r ${./gitweb} $out/gitweb-theme;
9 '';
10 });
11 config = pkgs.writeText "gitweb.conf" ''
12 $git_temp = "/tmp";
13
14 # The directories where your projects are. Must not end with a
15 # slash.
16 $projectroot = "${varDir}/repositories";
17
18 $projects_list = "${varDir}/projects.list";
19 $strict_export = "true";
20
21 # Base URLs for links displayed in the web interface.
22 our @git_base_url_list = qw(ssh://gitolite@git.immae.eu https://git.immae.eu);
23
24 $feature{'blame'}{'default'} = [1];
25 $feature{'avatar'}{'default'} = ['gravatar'];
26 $feature{'highlight'}{'default'} = [1];
27
28 @stylesheets = ("gitweb-theme/gitweb.css");
29 $logo = "gitweb-theme/git-logo.png";
30 $favicon = "gitweb-theme/git-favicon.png";
31 $javascript = "gitweb-theme/gitweb.js";
32 $logo_url = "https://git.immae.eu/";
33 $projects_list_group_categories = "true";
34 $projects_list_description_width = 60;
35 $project_list_default_category = "__Others__";
36 '';
37 apache = {
38 user = "wwwrun";
39 group = "wwwrun";
40 modules = [ "cgid" ];
41 vhostConf = ''
42 SetEnv GIT_PROJECT_ROOT ${varDir}/repositories/
43 ScriptAliasMatch \
44 "(?x)^/(.*/(HEAD | \
45 info/refs | \
46 objects/(info/[^/]+ | \
47 [0-9a-f]{2}/[0-9a-f]{38} | \
48 pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
49 git-(upload|receive)-pack))$" \
50 ${pkgs.git}/libexec/git-core/git-http-backend/$1
51
52 <Directory "${pkgs.gitolite}">
53 Require all granted
54 </Directory>
55 <Directory "${pkgs.git}/libexec/git-core">
56 Require all granted
57 </Directory>
58 <Directory "${webRoot}">
59 DirectoryIndex gitweb.cgi
60 Require all granted
61 AllowOverride None
62 Options ExecCGI FollowSymLinks
63 <Files gitweb.cgi>
64 SetHandler cgi-script
65 SetEnv GITWEB_CONFIG "${config}"
66 </Files>
67 </Directory>
68 '';
69 };
70};
71in
72 gitweb