diff options
| author | Seth Flynn <[email protected]> | 2025-02-13 21:07:48 -0500 |
|---|---|---|
| committer | Seth Flynn <[email protected]> | 2025-02-13 22:09:11 -0500 |
| commit | fd4925111408439dc8a8b875a6c3c4aff970ff12 (patch) | |
| tree | 16ac6134d3f5f0aa60d1d39cf9df55e3f75a665f /modules/nixos/custom/determinate.nix | |
| parent | b816b91e4f1fcf090832f8bb81aa4484fc470cf6 (diff) | |
modules: group services & traits into "custom" modules
Diffstat (limited to 'modules/nixos/custom/determinate.nix')
| -rw-r--r-- | modules/nixos/custom/determinate.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/modules/nixos/custom/determinate.nix b/modules/nixos/custom/determinate.nix new file mode 100644 index 0000000..3c1a97e --- /dev/null +++ b/modules/nixos/custom/determinate.nix @@ -0,0 +1,68 @@ +{ + config, + lib, + inputs', + ... +}: + +let + cfg = config.borealis.determinate; + + package = inputs'.determinate.packages.default; +in + +{ + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + (lib.mkIf cfg.determinate-nixd.enable { + environment = { + # `determinate-nixd` overrides /etc/nix/nix.conf with it's own + etc."nix/nix.custom.conf" = { inherit (config.environment.etc."nix/nix.conf") source; }; + + 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"; + }; + }; + }; + }) + ] + ); +} |
