blob: 332ea5cc5654f4342ae0da3affe2c70ebc677eeb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
{
pkgs,
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.services.still-awake;
in {
options.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 {
serviceConfig = {
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;
};
};
};
}
|