nixos/cgit: add package option
This commit is contained in:
parent
218c7795a6
commit
45f06d9712
2 changed files with 20 additions and 4 deletions
|
@ -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;
|
||||
|
|
|
@ -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'"
|
||||
|
|
Loading…
Reference in a new issue