diff --git a/nixarr/jellyfin/default.nix b/nixarr/jellyfin/default.nix index 88a9a61..9512039 100644 --- a/nixarr/jellyfin/default.nix +++ b/nixarr/jellyfin/default.nix @@ -19,8 +19,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Jellyfin traffic through the VPN. Requires that `nixarr.vpn` - is configured + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Jellyfin traffic through the VPN. ''; expose = { @@ -28,8 +29,9 @@ in { enable = mkEnableOption '' **Required options:** - - `nixarr.jellyfin.vpn.enable` - - `nixarr.jellyfin.expose.vpn.port` + - [`nixarr.jellyfin.vpn.enable`](/options.html#nixarr.jellyfin.vpn.enable) + - [`nixarr.jellyfin.expose.vpn.port`](/options.html#nixarr.jellyfin.expose.vpn.port) + - [`nixarr.jellyfin.expose.vpn.accessibleFrom`](/options.html#nixarr.jellyfin.expose.vpn.accessibleFrom) Expose the Jellyfin web service to the internet, allowing anyone to access it. @@ -42,12 +44,17 @@ in { type = with types; nullOr port; default = null; description = '' - **Required options:** `nixarr.jellyfin.expose.vpn.enable` - - The port to access jellyfin on. Get this port from your VPN provider. + The port to access jellyfin on. Get this port from your VPN + provider. + ''; + }; - **Important:** Do _not_ enable this without setting up Jellyfin - authentication through localhost first! + accessibleFrom = mkOption { + type = with types; nullOr string; + default = null; + example = "jellyfin.airvpn.org"; + description = '' + The IP or domain that Jellyfin should be able to be accessed from. ''; }; }; @@ -56,10 +63,10 @@ in { enable = mkEnableOption '' **Required options:** - - `nixarr.jellyfin.expose.https.acmeMail` - - `nixarr.jellyfin.expose.https.domainName` + - [`nixarr.jellyfin.expose.https.acmeMail`](/options.html#nixarr.jellyfin.expose.https.acmeMail) + - [`nixarr.jellyfin.expose.https.domainName`](/options.html#nixarr.jellyfin.expose.https.domainName) - **Conflicting options:** `nixarr.jellyfin.vpn.enable` + **Conflicting options:** [`nixarr.jellyfin.vpn.enable`](/options.html#nixarr.jellyfin.vpn.enable) Expose the Jellyfin web service to the internet with https support, allowing anyone to access it. @@ -148,7 +155,7 @@ in { }; }; - virtualHosts."${config.util-nixarr.vpn.address}:${builtins.toString cfg.expose.vpn.port}" = mkIf cfg.expose.vpn.enable { + virtualHosts."${cfg.expose.vpn.accessibleFrom}:${builtins.toString cfg.expose.vpn.port}" = mkIf cfg.expose.vpn.enable { enableACME = true; forceSSL = true; locations."/" = { diff --git a/nixarr/lidarr/default.nix b/nixarr/lidarr/default.nix index b1b2722..39f42e2 100644 --- a/nixarr/lidarr/default.nix +++ b/nixarr/lidarr/default.nix @@ -18,8 +18,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Lidarr traffic through the VPN. Requires that `nixarr.vpn` - is configured + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Lidarr traffic through the VPN. ''; }; diff --git a/nixarr/openssh/default.nix b/nixarr/openssh/default.nix index d857dc6..4a8161c 100644 --- a/nixarr/openssh/default.nix +++ b/nixarr/openssh/default.nix @@ -11,6 +11,8 @@ in { type = types.bool; default = false; description = '' + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + Run the openssh service through a vpn. **Note:** This option does _not_ enable the sshd service you still diff --git a/nixarr/prowlarr/default.nix b/nixarr/prowlarr/default.nix index 73bf5da..91eedf7 100644 --- a/nixarr/prowlarr/default.nix +++ b/nixarr/prowlarr/default.nix @@ -24,8 +24,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Prowlarr traffic through the VPN. Requires that `nixarr.vpn` - is configured. + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Prowlarr traffic through the VPN. ''; }; diff --git a/nixarr/radarr/default.nix b/nixarr/radarr/default.nix index 456a0bf..186f523 100644 --- a/nixarr/radarr/default.nix +++ b/nixarr/radarr/default.nix @@ -20,8 +20,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Radarr traffic through the VPN. Requires that `nixarr.vpn` - is configured. + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Radarr traffic through the VPN. ''; }; diff --git a/nixarr/readarr/default.nix b/nixarr/readarr/default.nix index 7ccf717..dbafa49 100644 --- a/nixarr/readarr/default.nix +++ b/nixarr/readarr/default.nix @@ -18,8 +18,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Readarr traffic through the VPN. Requires that `nixarr.vpn` - is configured. + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Readarr traffic through the VPN. ''; }; diff --git a/nixarr/sonarr/default.nix b/nixarr/sonarr/default.nix index c7ea83e..931b9e8 100644 --- a/nixarr/sonarr/default.nix +++ b/nixarr/sonarr/default.nix @@ -24,8 +24,9 @@ in { }; vpn.enable = mkEnableOption '' - Route Readarr traffic through the VPN. Requires that `nixarr.vpn` - is configured. + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + Route Sonarr traffic through the VPN. ''; }; diff --git a/nixarr/transmission/default.nix b/nixarr/transmission/default.nix index ca188c2..e2a0376 100644 --- a/nixarr/transmission/default.nix +++ b/nixarr/transmission/default.nix @@ -18,9 +18,6 @@ in { default = "${nixarr.stateDir}/nixarr/transmission"; description = '' The state directory for Transmission. - - **BUG**: Only works when the `nixarr.transmission.vpn.enable` option - is set. ''; }; @@ -33,8 +30,9 @@ in { }; vpn.enable = mkEnableOption '' - **Recommended!** Route Transmission traffic through the VPN. Requires that `nixarr.vpn` - is configured. + **Required options:** [`nixarr.vpn.enable`](/options.html#nixarr.vpn.enable) + + **Recommended:** Route Transmission traffic through the VPN. ''; flood.enable = mkEnableOption "Use the flood web-UI";