mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-09-11 12:49:18 +03:00
This should enable `nix run` to work under shells like fish and zsh, as well as making child shells not needlessly reset any environment that should be inherited. Implementation adapted from NixOS.
25 lines
913 B
Nix
25 lines
913 B
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
nix = pkgs.runCommand "nix-0.0.0" { version = "1.11.6"; } "mkdir -p $out";
|
|
in
|
|
|
|
{
|
|
services.nix-daemon.enable = true;
|
|
nix.package = nix;
|
|
|
|
test = ''
|
|
echo checking nix-daemon service in /Library/LaunchDaemons >&2
|
|
grep "<string>org.nixos.nix-daemon</string>" ${config.out}/Library/LaunchDaemons/org.nixos.nix-daemon.plist
|
|
grep "<string>exec ${nix}/bin/nix-daemon</string>" ${config.out}/Library/LaunchDaemons/org.nixos.nix-daemon.plist
|
|
grep "<key>KeepAlive</key>" ${config.out}/Library/LaunchDaemons/org.nixos.nix-daemon.plist
|
|
! grep "<key>Sockets</key>" ${config.out}/Library/LaunchDaemons/org.nixos.nix-daemon.plist
|
|
|
|
echo checking nix-daemon reload in /activate >&2
|
|
grep "pkill -HUP nix-daemon" ${config.out}/activate
|
|
|
|
echo checking NIX_REMOTE=daemon in setEnvironment >&2
|
|
grep "NIX_REMOTE=daemon" ${config.system.build.setEnvironment}
|
|
'';
|
|
}
|