Commit 45f06d97 authored by schnusch's avatar schnusch
Browse files

nixos/cgit: add package option

parent 218c7795
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
+16 −2
Original line number Diff line number Diff line
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'"