nixos/modules/services/finance/default.nix

58 lines
1.3 KiB
Nix
Raw Normal View History

2024-11-12 23:07:49 +01:00
# finance overview
{
config,
lib,
...
}:
2024-11-12 23:07:49 +01:00
let
cfg = config.my.services.finance;
inherit (config.networking) domain;
in
{
options.my.services.finance = with lib; {
enable = lib.mkEnableOption "Finance firefly service.";
appKeyFile = mkOption {
type = types.path;
description = "appkey for the service.";
example = "/run/secrets/freshrss";
default = "base64:ICs6jizTJnu4U8Sl/+GKIUC6TSK+0i+Lu84CicRhTNE=";
};
};
config = lib.mkIf cfg.enable {
services.firefly-iii = {
enable = true;
virtualHost = "finance";
user = "caddy";
group = "caddy";
2024-11-12 23:07:49 +01:00
settings = {
APP_KEY_FILE = cfg.appKeyFile;
SITE_OWNER = "server@buehler.rocks";
};
};
my.services.webserver.virtualHosts = [
{
subdomain = "finance";
extraConfig = ''
file_server
root * "${config.services.firefly-iii.package}/public"
php_fastcgi unix/${config.services.phpfpm.pools."firefly-iii".socket} {
env modHeadersAvailable true
}
'';
}
];
2024-11-12 23:07:49 +01:00
webapps.apps.finance = {
dashboard = {
name = "Finance";
category = "app";
icon = "coins";
url = "https://finance.${domain}";
};
};
};
}