1
Fork 0
satellite/hosts/nixos/lapetus/services/intray.nix

50 lines
1.2 KiB
Nix
Raw Normal View History

{ config, ... }:
let
username = "prescientmoon";
apiHost = "api.intray.moonythm.dev";
apiPort = 8402;
webHost = "intray.moonythm.dev";
webPort = 8403;
in
{
# {{{ Import intray module
imports = [
# We patch out the `intray` module to allow manual configuration for nginx
a:
# NOTE: using `pkgs.system` before `module.options` is evaluated
# leads to infinite recursion!
let m = inputs.intray.nixosModules.x86_64-linux.default a;
in
{
inherit (m) options;
config = { inherit (m.config) systemd; };
}
];
# }}}
# {{{ Configure intray
services.intray.production = {
enable = true;
api-server = {
enable = true;
hosts = [ apiHost ];
port = apiPort;
admins = [ username ];
};
web-server = {
enable = true;
hosts = [ webHost ];
port = webPort;
api-url = "https://${apiHost}";
};
};
# }}}
# {{{ Networking & storage
services.nginx.virtualHosts.${apiHost} = config.satellite.proxy apiPort;
services.nginx.virtualHosts.${webHost} = config.satellite.proxy webPort;
environment.persistence."/persist/state".directories = [
"/www/intray/production/data"
];
# }}}
}