nixos/cgit: add package option

This commit is contained in:
schnusch 2022-08-01 11:27:29 +02:00
parent 218c7795a6
commit 45f06d9712
2 changed files with 20 additions and 4 deletions

View File

@ -100,6 +100,8 @@ in
options = {
enable = mkEnableOption (mdDoc "cgit");
package = mkPackageOptionMD pkgs "cgit" {};
nginx.virtualHost = mkOption {
description = mdDoc "VirtualHost to serve cgit on, defaults to the attribute name.";
type = types.str;
@ -172,7 +174,7 @@ in
[ "cgit.css" "cgit.png" "favicon.ico" "robots.txt" ]
(name: nameValuePair "= ${stripLocation cfg}/${name}" {
extraConfig = ''
alias ${pkgs.cgit}/cgit/${name};
alias ${cfg.package}/cgit/${name};
'';
})
) // {
@ -187,7 +189,7 @@ in
};
"${stripLocation cfg}/" = {
fastcgiParams = {
SCRIPT_FILENAME = "${pkgs.cgit}/cgit/cgit.cgi";
SCRIPT_FILENAME = "${cfg.package}/cgit/cgit.cgi";
QUERY_STRING = "$args";
HTTP_HOST = "$server_name";
CGIT_CONFIG = mkCgitrc cfg;

View File

@ -1,4 +1,10 @@
import ./make-test-python.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ... }:
let
robotsTxt = pkgs.writeText "cgit-robots.txt" ''
User-agent: *
Disallow: /
'';
in {
name = "cgit";
meta = with pkgs.lib.maintainers; {
maintainers = [ schnusch ];
@ -8,6 +14,12 @@ import ./make-test-python.nix ({ pkgs, ...} : {
server = { ... }: {
services.cgit."localhost" = {
enable = true;
package = pkgs.cgit.overrideAttrs ({ postInstall, ... }: {
postInstall = ''
${postInstall}
cp ${robotsTxt} "$out/cgit/robots.txt"
'';
});
nginx.location = "/(c)git/";
repos = {
some-repo = {
@ -28,7 +40,9 @@ import ./make-test-python.nix ({ pkgs, ...} : {
server.wait_for_unit("network.target")
server.wait_for_open_port(80)
server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt")
server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css")
server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}")
server.succeed(
"curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'"