Signed-off-by: Bloxx12 <charlie@charlieroot.dev> Change-Id: I6a6a6964f4aa3349951fe7574622564452ad1af1
61 lines
2 KiB
Nix
61 lines
2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
sources,
|
|
...
|
|
}: let
|
|
determinate = (import sources.flake-compat {src = sources.determinate;}).outputs;
|
|
dix = (import sources.flake-compat {src = determinate.inputs.nix;}).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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|