summaryrefslogtreecommitdiff
path: root/modules/nixos/duksebot/default.nix
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-02-13 17:38:25 +0100
committerLinnnus <[email protected]>2024-02-13 17:39:52 +0100
commitcfac122324e3d05f2925673e99feacf8c3602e0c (patch)
tree73eed7262b94f3678f38f32ba951970e2d0bd066 /modules/nixos/duksebot/default.nix
parentbbbdbd1094f1f09b8075da88f6b412d2e4af80ca (diff)
tmp: Move modules/nixos to services/ for shared and hosts/ahmed for private
Diffstat (limited to 'modules/nixos/duksebot/default.nix')
-rw-r--r--modules/nixos/duksebot/default.nix72
1 files changed, 0 insertions, 72 deletions
diff --git a/modules/nixos/duksebot/default.nix b/modules/nixos/duksebot/default.nix
deleted file mode 100644
index 4c10cd8..0000000
--- a/modules/nixos/duksebot/default.nix
+++ /dev/null
@@ -1,72 +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.services.duksebot;
-in {
- options.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"];
- timerConfig = {
- OnCalendar = "*-*-* 7:00:00";
- Unit = "duksebot.service";
- };
- };
- };
-}