diff options
Diffstat (limited to 'modules/nixos/forsvarsarper/default.nix')
-rw-r--r-- | modules/nixos/forsvarsarper/default.nix | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/modules/nixos/forsvarsarper/default.nix b/modules/nixos/forsvarsarper/default.nix deleted file mode 100644 index 7052f04..0000000 --- a/modules/nixos/forsvarsarper/default.nix +++ /dev/null @@ -1,65 +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, - ... -}: let - inherit (lib) mkIf mkEnableOption; - - cfg = config.services.forsvarsarper; -in { - options.services.forsvarsarper.enable = mkEnableOption "daily scan for tests"; - - config = mkIf cfg.enable { - # Create a user to run the server under. - users.users.forsvarsarper = { - description = "Runs daily scan for tests"; - group = "forsvarsarper"; - isSystemUser = true; - home = "/srv/forsvarsarper"; - createHome = true; - }; - users.groups.forsvarsarper = {}; - - age.secrets.forsvarsarper-env = { - file = ../../../secrets/forsvarsarper.env.age; - owner = config.users.users.forsvarsarper.name; - group = config.users.users.forsvarsarper.group; - mode = "0440"; - }; - - # Create a service which simply runs script. This will be invoked by our timer. - systemd.services.forsvarsarper = { - serviceConfig = { - # We only want to run this once every time the timer triggers it. - Type = "oneshot"; - # Run as the user we created above. - User = "forsvarsarper"; - Group = "forsvarsarper"; - WorkingDirectory = config.users.users.forsvarsarper.home; - }; - script = let - python3' = pkgs.python3.withPackages (ps: [ps.requests]); - in '' - # Load the secret environment variables. - export $(grep -v '^#' ${config.age.secrets.forsvarsarper-env.path} | xargs) - # Kick off. - exec ${python3'}/bin/python3 ${./script.py} - ''; - }; - - # Create a timer to activate our oneshot service. - systemd.timers.forsvarsarper = { - wantedBy = ["timers.target"]; - partOf = ["forsvarsarper.service"]; - after = ["network-online.target"]; - wants = ["network-online.target"]; - timerConfig = { - OnCalendar = "*-*-* 8:00:00"; - Unit = "forsvarsarper.service"; - }; - }; - }; -} |