summaryrefslogtreecommitdiff
path: root/services/still-awake
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2023-09-14 17:31:23 +0200
committerLinnnus <[email protected]>2023-09-14 17:31:35 +0200
commited23fbac210d662ec544a0651c9945e196b90d54 (patch)
tree880114164cbc1300970f04073925ec6282db8d55 /services/still-awake
parent3313983c0788b7fa0f960df7bccccafe3fe03005 (diff)
Add still-awake service (broken)
Diffstat (limited to 'services/still-awake')
-rw-r--r--services/still-awake/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/services/still-awake/default.nix b/services/still-awake/default.nix
new file mode 100644
index 0000000..9221359
--- /dev/null
+++ b/services/still-awake/default.nix
@@ -0,0 +1,50 @@
+{ pkgs, lib, config, ... }:
+
+let
+ inherit (lib) mkIf mkEnableOption;
+
+ cfg = config.my.services.still-awake;
+in
+{
+ options.my.services.still-awake.enable = mkEnableOption "still-awake launchd job";
+
+ config = mkIf cfg.enable {
+ launchd.agents."still-awake" =
+ let
+ # https://macperformanceguide.com/blog/2022/20221125_2044-launch_daemon-launchctl-posix-spawn-permission-denied.html
+ log-file = "/tmp/still-awake.log";
+ in
+ {
+ enable = true;
+ config = {
+ ProgramArguments = [ "${pkgs.still-awake}/bin/still-awake" ];
+ ProcessType = "Interactive";
+
+ # WARNING: These times must match the ones specified in ${source}!
+ StartCalendarInterval = [
+ { Hour = 21; Minute = 30; }
+ { Hour = 22; }
+ { Hour = 22; Minute = 30; }
+ { Hour = 23; }
+ { Hour = 23; Minute = 30; }
+ { Hour = 23; }
+ { Hour = 23; Minute = 30; }
+ { Hour = 00; }
+ { Hour = 00; Minute = 30; }
+ { Hour = 01; }
+ { Hour = 01; Minute = 30; }
+ { Hour = 02; }
+ { Hour = 02; Minute = 30; }
+ { Hour = 03; }
+ { Hour = 03; Minute = 30; }
+ { Hour = 04; }
+ { Hour = 04; Minute = 30; }
+ { Hour = 05; }
+ ];
+
+ StandardOutPath = log-file;
+ StandardErrorPath = log-file;
+ };
+ };
+ };
+}