diff --git a/modules/services/web-servers/apache-httpd/trac.nix b/modules/services/web-servers/apache-httpd/trac.nix new file mode 100644 index 000000000000..aabeb429ce82 --- /dev/null +++ b/modules/services/web-servers/apache-httpd/trac.nix @@ -0,0 +1,38 @@ +{config, pkgs, serverInfo}: + +let + inherit (pkgs.lib) mkOption; +in +{ + options = { + projectsLocation = mkOption { + description = "URL path in which Trac projects can be accessed"; + default = "/projects"; + }; + }; + + extraModules = [ + { name = "python"; path = "${pkgs.mod_python}/modules/mod_python.so"; } + ]; + + extraConfig = '' + + SetHandler mod_python + PythonHandler trac.web.modpython_frontend + PythonOption TracEnvParentDir /var/trac/projects + PythonOption TracUriRoot ${config.projectsLocation} + PythonOption PYTHON_EGG_CACHE /var/trac/egg-cache + + ''; + + globalEnvVars = [ + { name = "PYTHONPATH"; + value = + "${pkgs.mod_python}/lib/python2.5/site-packages:" + + "${pkgs.pythonPackages.trac}/lib/python2.5/site-packages:" + + "${pkgs.setuptools}/lib/python2.5/site-packages:" + + "${pkgs.pythonPackages.genshi}/lib/python2.5/site-packages:" + + "${pkgs.pythonPackages.psycopg2}/lib/python2.5/site-packages"; + } + ]; +}