{ lib, inputs, config, pkgs, ... }: let cfg = config.services.readeck; secrets = config.age.secrets; fqdn = "${cfg.subdomain}.${config.networking.domain}"; pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; in { imports = [ "${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/readeck.nix" ]; options.services.readeck = { subdomain = lib.mkOption { type = lib.types.str; }; }; config = lib.mkIf cfg.enable { services.readeck = { package = pkgsUnstable.readeck; environmentFile = secrets.readeck.path; settings = { server.port = lib.mkDefault 8090; }; }; modules.services.webserver = { enable = lib.mkDefault true; vHosts.${fqdn} = { proxyBuffering = false; locations."/" = { proxyPort = cfg.settings.server.port; }; }; }; }; }