From dcee208a31f132e6b6c3dd5a98c7c3f7e462df24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=B9=82=E0=B8=97=E0=B8=AA=E0=B8=BA=E0=B8=95=E0=B8=B1?= =?UTF-8?q?=E0=B8=A5?= Date: Thu, 27 Feb 2025 12:50:34 +0700 Subject: [PATCH 1/3] nixos/h2o: provide a settings example --- .../modules/services/web-servers/h2o/default.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nixos/modules/services/web-servers/h2o/default.nix b/nixos/modules/services/web-servers/h2o/default.nix index f752b6b9b256..a8e419401230 100644 --- a/nixos/modules/services/web-servers/h2o/default.nix +++ b/nixos/modules/services/web-servers/h2o/default.nix @@ -302,6 +302,22 @@ in type = settingsFormat.type; default = { }; description = "Configuration for H2O (see )"; + example = + literalExpression + # nix + '' + { + compress = "ON"; + ssl-offload = "kernel"; + http2-reprioritize-blocking-assets = "ON"; + "file.mime.addtypes" = { + "text/x-rst" = { + extensions = [ ".rst" ]; + is_compressible = "YES"; + }; + }; + } + ''; }; hosts = mkOption { From 28aa2901458921a5cfd3eebdce83ee7efae1f3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=B9=82=E0=B8=97=E0=B8=AA=E0=B8=BA=E0=B8=95=E0=B8=B1?= =?UTF-8?q?=E0=B8=A5?= Date: Fri, 28 Feb 2025 17:36:20 +0700 Subject: [PATCH 2/3] nixos/h2o: add access to listen.host --- nixos/modules/services/web-servers/h2o/default.nix | 3 +++ nixos/modules/services/web-servers/h2o/vhost-options.nix | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/nixos/modules/services/web-servers/h2o/default.nix b/nixos/modules/services/web-servers/h2o/default.nix index a8e419401230..e8441a3a6347 100644 --- a/nixos/modules/services/web-servers/h2o/default.nix +++ b/nixos/modules/services/web-servers/h2o/default.nix @@ -230,6 +230,9 @@ let ssl = (lib.recursiveUpdate tlsRecAttrs value.tls.extraSettings) // { inherit identity; }; + } + // lib.optionalAttrs (value.host != null) { + host = value.host; }; }; }; diff --git a/nixos/modules/services/web-servers/h2o/vhost-options.nix b/nixos/modules/services/web-servers/h2o/vhost-options.nix index 907551113826..4bbca40974bf 100644 --- a/nixos/modules/services/web-servers/h2o/vhost-options.nix +++ b/nixos/modules/services/web-servers/h2o/vhost-options.nix @@ -37,6 +37,15 @@ in ''; }; + host = mkOption { + type = types.nullOr types.nonEmptyStr; + default = null; + example = "127.0.0.1"; + description = '' + Set the host address for this virtual host. + ''; + }; + http = mkOption { type = types.nullOr ( types.submodule { From 1e3e30d56649dd3a910da3dc4bc3091f0af68c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=B9=82=E0=B8=97=E0=B8=AA=E0=B8=BA=E0=B8=95=E0=B8=B1?= =?UTF-8?q?=E0=B8=A5?= Date: Sun, 2 Mar 2025 18:05:30 +0700 Subject: [PATCH 3/3] nixos/h2o: clarify/format some docs to point to upstream config --- .../web-servers/h2o/vhost-options.nix | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/nixos/modules/services/web-servers/h2o/vhost-options.nix b/nixos/modules/services/web-servers/h2o/vhost-options.nix index 4bbca40974bf..9c8a74a62bb1 100644 --- a/nixos/modules/services/web-servers/h2o/vhost-options.nix +++ b/nixos/modules/services/web-servers/h2o/vhost-options.nix @@ -33,7 +33,8 @@ in "example.org" ]; description = '' - Additional names of virtual hosts served by this virtual host configuration. + Additional names of virtual hosts served by this virtual host + configuration. ''; }; @@ -42,7 +43,8 @@ in default = null; example = "127.0.0.1"; description = '' - Set the host address for this virtual host. + Set the host address for this virtual host. If unset, the default is to + listen on all network interfaces. ''; }; @@ -79,7 +81,7 @@ in config.services.h2o.defaultTLSListenPort ''; description = '' - Override the default TLS port for this virtual host."; + Override the default TLS port for this virtual host. ''; example = 8443; }; @@ -114,11 +116,17 @@ in options = { key-file = mkOption { type = types.path; - description = "Path to key file"; + description = '' + Path to key file. See + . + ''; }; certificate-file = mkOption { type = types.path; - description = "Path to certificate file"; + description = '' + Path to certificate file. See + . + ''; }; }; } @@ -148,7 +156,8 @@ in type = types.attrs; default = { }; description = '' - Additional TLS/SSL-related configuration options. + Additional TLS/SSL-related configuration options. See + . ''; example = literalExpression @@ -214,7 +223,8 @@ in default = { }; description = '' Attrset to be transformed into YAML for host config. Note that the HTTP - / TLS configurations will override these config values. + / TLS configurations will override these config values. See + . ''; }; };