# This file defines the options that can be used both for the Apache # main server configuration, and for the virtual hosts. (The latter # has additional options that affect the web server as a whole, like # the user/group to run under.) {forMainServer, mkOption}: { hostName = mkOption { default = "localhost"; description = " Canonical hostname for the server. "; }; httpPort = mkOption { default = 80; description = " Port for unencrypted HTTP requests. "; }; adminAddr = mkOption ({ example = "admin@example.org"; description = " E-mail address of the server administrator. "; } // (if forMainServer then {} else {default = "";})); documentRoot = mkOption { default = null; example = "/data/webserver/docs"; description = " The path of Apache's document root directory. If left undefined, an empty directory in the Nix store will be used as root. "; }; servedDirs = mkOption { default = []; example = [ { urlPath = "/nix"; dir = "/home/eelco/Dev/nix-homepage"; } ]; description = " This option provides a simple way to serve static directories. "; }; servedFiles = mkOption { default = []; example = [ { urlPath = "/foo/bar.png"; dir = "/home/eelco/some-file.png"; } ]; description = " This option provides a simple way to serve individual, static files. "; }; # !!! this is a mis-nomer, should be "extraConfig" or something. extraDirectories = mkOption { default = ""; example = " Options FollowSymlinks AllowOverride All "; description = " These lines go to httpd.conf verbatim. They will go after directories and directory aliases defined by default. "; }; extraSubservices = mkOption { default = []; description = " Extra subservices to enable in the webserver. "; }; }