vps/nix/apps/killua/default.nix

39 lines
1 KiB
Nix

{ config, lib, pkgs, ... }:
let
jarfile = pkgs.fetchurl {
url =
"https://github.com/Noratrieb/killua-bot/releases/download/2023-08-26/KilluaBot.jar";
hash = "sha256-LUABYq6cRhLTLyZVzkIjIFHERcb7YQTzyAGaJB49Mxk=";
};
dataDir = "/var/lib/killua";
in
{
age.secrets.killua_env.file = ../../secrets/killua_env.age;
systemd.services.killua = {
description = "killua, an awesome discord bot";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
BOT_TOKEN_PATH = config.age.secrets.widetom_bot_token.path;
CONFIG_PATH = config.age.secrets.widetom_config_toml.path;
};
serviceConfig = {
DynamicUser = true;
ExecStart = "${lib.getExe' pkgs.jdk17 "java"} -jar ${jarfile}";
EnvironmentFile = [ config.age.secrets.killua_env.path ];
};
};
services.custom-backup-restic.jobs = [
{
app = "killua";
path = dataDir;
}
];
system.activationScripts.makeKilluaDir = lib.stringAfter [ "var" ] ''
mkdir -p ${dataDir}
chmod ugo+w ${dataDir}
'';
}