aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix94
1 files changed, 94 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix b/infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
new file mode 100644
index 000000000000..3d9e391ecf20
--- /dev/null
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -0,0 +1,94 @@
+# This file defines the options that can be used both for the Nginx
+# 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.)
+
+{ lib }:
+
+with lib;
+
+{
+ options = {
+ proxyPass = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "http://www.example.org/";
+ description = ''
+ Adds proxy_pass directive and sets recommended proxy headers if
+ recommendedProxySettings is enabled.
+ '';
+ };
+
+ proxyWebsockets = mkOption {
+ type = types.bool;
+ default = false;
+ example = true;
+ description = ''
+ Whether to supporty proxying websocket connections with HTTP/1.1.
+ '';
+ };
+
+ index = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "index.php index.html";
+ description = ''
+ Adds index directive.
+ '';
+ };
+
+ tryFiles = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "$uri =404";
+ description = ''
+ Adds try_files directive.
+ '';
+ };
+
+ root = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ example = "/your/root/directory";
+ description = ''
+ Root directory for requests.
+ '';
+ };
+
+ alias = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ example = "/your/alias/directory";
+ description = ''
+ Alias directory for requests.
+ '';
+ };
+
+ return = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "301 http://example.com$request_uri";
+ description = ''
+ Adds a return directive, for e.g. redirections.
+ '';
+ };
+
+ extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ description = ''
+ These lines go to the end of the location verbatim.
+ '';
+ };
+
+ priority = mkOption {
+ type = types.int;
+ default = 1000;
+ description = ''
+ Order of this location block in relation to the others in the vhost.
+ The semantics are the same as with `lib.mkOrder`. Smaller values have
+ a greater priority.
+ '';
+ };
+ };
+}