Files
PulumiConfig/PulumiWebServer/Nix/miniflux/miniflux.nix
2023-12-28 22:18:39 +00:00

42 lines
1.1 KiB
Nix

{
config,
pkgs,
lib,
...
}: {
options = {
services.miniflux-config = {
domain = lib.mkOption {
type = lib.types.str;
example = "example.com";
description = lib.mdDoc "Top-level domain to configure";
};
subdomain = lib.mkOption {
type = lib.types.str;
example = "rss";
description = lib.mdDoc "Subdomain in which to put Miniflux";
};
port = lib.mkOption {
type = lib.types.port;
description = lib.mdDoc "Miniflux localhost port";
default = 8080;
};
};
};
config = {
users.users."miniflux".extraGroups = [config.users.groups.keys.name];
services.miniflux = {
enable = true;
adminCredentialsFile = "/run/secrets/miniflux_admin_password";
};
services.nginx.virtualHosts."${config.services.miniflux-config.subdomain}.${config.services.miniflux-config.domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:${toString config.services.miniflux-config.port}/";
};
};
};
}