blob: 459b128a50b378e1d7c22e84c3870d134757194e (
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
|
{
config,
lib,
inputs',
...
}:
let
cfg = config.traits.determinate;
package = inputs'.determinate.packages.default;
in
{
config = lib.mkIf cfg.enable (
lib.mkMerge [
(lib.mkIf cfg.determinate-nixd.enable {
environment.systemPackages = [
package
];
systemd = {
services.nix-daemon.serviceConfig = {
ExecStart = [
""
"@${lib.getExe' package "determinate-nixd"} determinate-nixd --nix-bin ${config.nix.package}/bin daemon"
];
KillMode = lib.mkDefault "process";
LimitNOFILE = lib.mkDefault 1048576;
LimitSTACK = lib.mkDefault "64M";
TasksMax = lib.mkDefault 1048576;
};
sockets = {
determinate-nixd = {
description = "Determinate Nixd Daemon Socket";
wantedBy = [ "sockets.target" ];
before = [ "multi-user.target" ];
unitConfig = {
RequiresMountsFor = [
"/nix/store"
"/nix/var/determinate"
];
};
socketConfig = {
Service = "nix-daemon.service";
FileDescriptorName = "determinate-nixd.socket";
ListenStream = "/nix/var/determinate/determinate-nixd.socket";
DirectoryMode = "0755";
};
};
nix-daemon.socketConfig = {
FileDescriptorName = "nix-daemon.socket";
};
};
};
})
]
);
}
|