mirror of
https://github.com/Noratrieb/vps.git
synced 2026-01-14 16:55:00 +01:00
39 lines
1.1 KiB
Nix
39 lines
1.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.jobs = [
|
|
{
|
|
app = "killua";
|
|
file = "${dataDir}/trivia_questions.json";
|
|
}
|
|
];
|
|
|
|
system.activationScripts.makeKilluaDir = lib.stringAfter [ "var" ] ''
|
|
mkdir -p ${dataDir}
|
|
chmod ugo+w ${dataDir}
|
|
'';
|
|
}
|