Signed-off-by: Bloxx12 <charlie@charlieroot.dev> Change-Id: I6a6a696407aaf040f34e2ef257545f441b621c99
76 lines
2.2 KiB
Nix
76 lines
2.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
sources,
|
|
...
|
|
}:
|
|
let
|
|
determinate =
|
|
(import sources.flake-compat {
|
|
src = sources.determinate;
|
|
copySourceTreeToStore = false;
|
|
}).outputs;
|
|
dix =
|
|
(import sources.flake-compat {
|
|
src = determinate.inputs.nix;
|
|
copySourceTreeToStore = false;
|
|
}).outputs.packages.${pkgs.stdenv.system}.nix;
|
|
|
|
# Stronger than mkDefault (1000), weaker than mkForce (50) and the "default override priority"
|
|
# (100).
|
|
mkPreferable = lib.mkOverride 750;
|
|
|
|
# Stronger than the "default override priority", as the upstream module uses that, and weaker than mkForce (50).
|
|
mkMorePreferable = lib.mkOverride 75;
|
|
in
|
|
{
|
|
config = {
|
|
nix = {
|
|
package = dix;
|
|
};
|
|
environment.systemPackages = [
|
|
determinate.packages.${pkgs.stdenv.system}.default
|
|
];
|
|
|
|
# NOTE(cole-h): Move the generated nix.conf to /etc/nix/nix.custom.conf, which is included from
|
|
# the Determinate Nixd-managed /etc/nix/nix.conf.
|
|
environment.etc."nix/nix.conf".target = "nix/nix.custom.conf";
|
|
systemd = {
|
|
services.nix-daemon.serviceConfig = {
|
|
ExecStart = [
|
|
""
|
|
"@${
|
|
determinate.packages.${pkgs.stdenv.system}.default
|
|
}/bin/determinate-nixd determinate-nixd --nix-bin ${config.nix.package}/bin daemon"
|
|
];
|
|
KillMode = mkPreferable "process";
|
|
LimitNOFILE = mkMorePreferable 1048576;
|
|
LimitSTACK = mkPreferable "64M";
|
|
TasksMax = mkPreferable 1048576;
|
|
};
|
|
sockets = {
|
|
nix-daemon.socketConfig.FileDescriptorName = "nix-daemon.socket";
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|