51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
with lib;
 | 
						|
 | 
						|
let
 | 
						|
  phabricatorRoot = pkgs.phabricator;
 | 
						|
in {
 | 
						|
 | 
						|
  enablePHP = true;
 | 
						|
  extraApacheModules = [ "mod_rewrite" ];
 | 
						|
  DocumentRoot = "${phabricatorRoot}/phabricator/webroot";
 | 
						|
 | 
						|
  options = {
 | 
						|
      git = mkOption {
 | 
						|
          default = true;
 | 
						|
          description = "Enable git repositories.";
 | 
						|
      };
 | 
						|
      mercurial = mkOption {
 | 
						|
          default = true;
 | 
						|
          description = "Enable mercurial repositories.";
 | 
						|
      };
 | 
						|
      subversion = mkOption {
 | 
						|
          default = true;
 | 
						|
          description = "Enable subversion repositories.";
 | 
						|
      };
 | 
						|
  };
 | 
						|
 | 
						|
  extraConfig = ''
 | 
						|
      DocumentRoot ${phabricatorRoot}/phabricator/webroot
 | 
						|
 | 
						|
      RewriteEngine on
 | 
						|
      RewriteRule ^/rsrc/(.*) - [L,QSA]
 | 
						|
      RewriteRule ^/favicon.ico - [L,QSA]
 | 
						|
      RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
 | 
						|
  '';
 | 
						|
 | 
						|
  extraServerPath = [
 | 
						|
      "${pkgs.which}"
 | 
						|
      "${pkgs.diffutils}"
 | 
						|
      ] ++
 | 
						|
      (if config.mercurial then ["${pkgs.mercurial}"] else []) ++
 | 
						|
      (if config.subversion then ["${pkgs.subversion}"] else []) ++
 | 
						|
      (if config.git then ["${pkgs.git}"] else []);
 | 
						|
 | 
						|
  startupScript = pkgs.writeScript "activatePhabricator" ''
 | 
						|
      mkdir -p /var/repo
 | 
						|
      chown wwwrun /var/repo
 | 
						|
  '';
 | 
						|
 | 
						|
}
 |