diff options
author | Linnnus <[email protected]> | 2023-10-01 21:48:51 +0200 |
---|---|---|
committer | Linnnus <[email protected]> | 2023-10-01 21:48:51 +0200 |
commit | 6d22256a85df7228a356a802dbc513c8abeeb2b7 (patch) | |
tree | eddc506e9cb0aa49c79c261a2995dd8de41135b7 /services/duksebot | |
parent | 877db4137c34216fc2623570bc155d73e4b27f0b (diff) |
Export modules
Diffstat (limited to 'services/duksebot')
-rw-r--r-- | services/duksebot/default.nix | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/services/duksebot/default.nix b/services/duksebot/default.nix deleted file mode 100644 index 5130497..0000000 --- a/services/duksebot/default.nix +++ /dev/null @@ -1,71 +0,0 @@ -# This module defines an on-demand minecraft server service which turns off the -# server when it's not being used. - -{ config, lib, pkgs, modulesPath, ... }: - -let - inherit (lib) mkIf mkOption mkEnableOption types; - - cfg = config.my.services.duksebot; -in -{ - options.my.services.duksebot = { - enable = mkEnableOption "duksebot daily reminder"; - - package = mkOption { - description = "What package to use"; - default = pkgs.duksebot; - type = types.package; - }; - }; - - config = mkIf cfg.enable { - # Create a user to run the server under. - users.users.duksebot = { - description = "Runs daily dukse reminder"; - group = "duksebot"; - isSystemUser = true; - home = "/srv/duksebot"; - createHome = true; - }; - users.groups.duksebot = { }; - - age.secrets.duksebot-env = { - file = ../../secrets/duksebot.env.age; - owner = config.users.users.duksebot.name; - group = config.users.users.duksebot.group; - mode = "0440"; - }; - - # Create a service which simply runs script. This will be invoked by our timer. - systemd.services.duksebot = { - serviceConfig = { - # We only want to run this once every time the timer triggers it. - Type = "oneshot"; - # Run as the user we created above. - User = "duksebot"; - Group = "duksebot"; - WorkingDirectory = config.users.users.duksebot.home; - }; - script = '' - # Load the secret environment variables. - export $(grep -v '^#' ${config.age.secrets.duksebot-env.path} | xargs) - # Kick off. - exec "${cfg.package}"/bin/duksebot - ''; - }; - - # Create a timer to activate our oneshot service. - systemd.timers.duksebot = { - wantedBy = [ "timers.target" ]; - partOf = [ "duksebot.service" ]; - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; # FIXME: redundant? - timerConfig = { - # OnCalendar = "*-*-* 7:00:00"; - OnCalendar = "*:0/1"; - Unit = "duksebot.service"; - }; - }; - }; -} |