aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-10-08 21:17:27 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2019-10-08 21:52:17 -0400
commit0847f2f1b3145a62dc34707ba788275ce6b6fc57 (patch)
treee1913cfe3e694396637ad2a211dbc07f7c623bf0
parenta7e92863593792e7dc550effa8f6be08e6af7e3f (diff)
Copy instead of linking launch agent
On Catalina, the /nix filesystem might not be mounted at start time. To avoid this service not starting, we need to keep the launch agent outside of the Nix store. A wait4pid will hold for our /nix dir to be mounted. Fixes #3125.
-rw-r--r--misc/launchd/org.nixos.nix-daemon.plist.in2
-rw-r--r--scripts/install-darwin-multi-user.sh2
2 files changed, 2 insertions, 2 deletions
diff --git a/misc/launchd/org.nixos.nix-daemon.plist.in b/misc/launchd/org.nixos.nix-daemon.plist.in
index b340610e9..39d7757a4 100644
--- a/misc/launchd/org.nixos.nix-daemon.plist.in
+++ b/misc/launchd/org.nixos.nix-daemon.plist.in
@@ -17,7 +17,7 @@
<array>
<string>/bin/sh</string>
<string>-c</string>
- <string>/bin/wait4path @bindir@/nix-daemon &amp;&amp; @bindir@/nix-daemon</string>
+ <string>/bin/wait4path @bindir@/nix-daemon &amp;&amp; /nix/var/nix/profiles/default/bin/nix-daemon</string>
</array>
<key>StandardErrorPath</key>
<string>/var/log/nix-daemon.log</string>
diff --git a/scripts/install-darwin-multi-user.sh b/scripts/install-darwin-multi-user.sh
index 87c4c2b05..49076bd5c 100644
--- a/scripts/install-darwin-multi-user.sh
+++ b/scripts/install-darwin-multi-user.sh
@@ -39,7 +39,7 @@ EOF
poly_configure_nix_daemon_service() {
_sudo "to set up the nix-daemon as a LaunchDaemon" \
- ln -sfn "/nix/var/nix/profiles/default$PLIST_DEST" "$PLIST_DEST"
+ cp -f "/nix/var/nix/profiles/default$PLIST_DEST" "$PLIST_DEST"
_sudo "to load the LaunchDaemon plist for nix-daemon" \
launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist