Files
infra/machines/deneb/configuration.nix
kurogeek f3d568d5fa mob next [ci-skip] [ci skip] [skip ci]
lastFile:machines/deneb/configuration.nix
2026-04-08 13:25:04 +07:00

56 lines
1.3 KiB
Nix

{
inputs,
pkgs,
config,
...
}:
let
sitename = "erptest.kurogeek.home";
in
{
imports = [ inputs.frappix.nixosModules.x86_64-linux.frappix ];
nixpkgs.overlays = [
inputs.self.overlays.frappeOverlay
inputs.self.overlays.pythonOverlay
inputs.self.overlays.libsOverlay
inputs.self.overlays.toolsOverlay
inputs.self.overlays.frappePythonPkgsOverlay
];
clan.core.vars.generators.frappix = {
files = {
sslCertificate.secret = false;
sslCertificateKey = {
owner = "nginx";
group = "nginx";
secret = true;
};
};
runtimeInputs = [
pkgs.openssl
];
script = ''
openssl req -x509 -newkey rsa:4096 -keyout $out/sslCertificateKey -out $out/sslCertificate -sha256 -days 3650 -nodes -subj "/C=TH/ST=ChiangMai/L=ChiangMai/O=kurogeek/CN=kurogeek.home"
'';
};
services.frappe = {
enable = true;
project = "test";
gunicorn_workers = 2;
sites = {
"${sitename}" = {
domains = [ "localhost" ];
apps = [
"frappe"
"erpnext"
];
};
};
};
services.nginx.virtualHosts."${sitename}" = {
sslCertificate = config.clan.core.vars.generators.frappix.files.sslCertificate.path;
sslCertificateKey = config.clan.core.vars.generators.frappix.files.sslCertificateKey.path;
};
}