aboutsummaryrefslogtreecommitdiff
path: root/misc/launchd/org.nixos.nix-daemon.plist.in
AgeCommit message (Collapse)Author
2024-05-07Always initialize curl in parent process on darwinNikodem RabuliƄski
Because of an objc quirk[1], calling curl_global_init for the first time after fork() will always result in a crash. Up until now the solution has been to set OBJC_DISABLE_INITIALIZE_FORK_SAFETY for every nix process to ignore that error. This is less than ideal because we were setting it in package.nix, which meant that running nix tests locally would fail because that variable was not set. Instead of working around that error we address it at the core - by calling curl_global_init inside initLibStore, which should mean curl will already have been initialized by the time we try to do so in a forked process. [1] https://github.com/apple-oss-distributions/objc4/blob/01edf1705fbc3ff78a423cd21e03dfc21eb4d780/runtime/objc-initialize.mm#L614-L636 Change-Id: Icf26010a8be655127cc130efb9c77b603a6660d0
2023-03-17Add a setting for configuring the SSL certificates fileEelco Dolstra
This provides a platform-independent way to configure the SSL certificates file in the Nix daemon. Previously we provided instructions for overriding the environment variable in launchd, but that obviously doesn't work with systemd. Now we can just tell users to add ssl-cert-file = /etc/ssl/my-certificate-bundle.crt to their nix.conf.
2022-11-04systemd,launchd match nixos open files limitArtturin
it was bumped in https://github.com/NixOS/nixpkgs/pull/176558
2021-12-04launchd: Set NumberOfFiles to 4096Zhong Jianxin
The default maxfiles on macOS 11 and macOS 12 is 256, which is too low for nix to work: ``` $ launchctl limit maxfiles maxfiles 256 unlimited ``` Set NumberOfFiles of nix-daemon to 4096 to avoid `Too many open files` error.
2021-05-04launchd: Use exec to avoid leaving the extra shell wrapper runningAnders Kaseorg
Before: UID PID PPID C STIME TTY TIME CMD 0 1737 1 0 2:28PM ?? 0:00.00 /bin/sh -c /bin/wait4path /nix/var/nix/profiles/default/bin/nix-daemon && /nix/var/nix/profiles/default/bin/nix-daemon 0 1739 1737 0 2:28PM ?? 0:00.05 /nix/var/nix/profiles/default/bin/nix-daemon After: UID PID PPID C STIME TTY TIME CMD 0 1763 1 0 2:29PM ?? 0:00.05 /nix/var/nix/profiles/default/bin/nix-daemon Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-09-16Fix the nix-daemon Mac OS SSL CA certMarwan Aljubeh
Mac OS multi-user installations are currently broken because all requests made by nix-daemon to the binary cache fail with: ``` unable to download ... Problem with the SSL CA cert (path? access rights?) (77). ``` This change ensures that the nix-daemon knows where to find the SSL CA cert file. Fixes #2899 and #3261.
2019-10-09Make nix-daemon.plist less fragile on macOSDan Callahan
We're calling `wait4path` on the full, resolved `@bindir@/nix-daemon` path. That means we're hardcoding something like: /bin/wait4path /nix/store/zs9c5xhp3zv9p23qnjxp87nl5injsi1i-nix-2.3/bin/nix-daemon &amp;&amp; /nix/var/nix/profiles/default/bin/nix-daemon That seems unnecessarily fragile. It might be better to wait4path on the path we intend to call.
2019-10-08Copy instead of linking launch agentMatthew Bauer
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.
2019-09-02Fix launchd program argsMatthew Bauer
launchd has some weird syntx. Apparently the program needs to be in the ProgramArguments, as Program appears to be ignored.
2019-08-27Use wait4path on org.nixos.nix-daemon.plistMatthew Bauer
When using a volume, the nix-daemon path may not exist. To avoid this issue, we must use the wait4path tool. This should solve one of the issues in multi-user on macOS Catalina.
2019-02-09nix-daemon: add variable to disable fork safetyDaiderd Jordan
Since macOS 10.14 this has become an error, causing problems if the nix-daemon loads nix during substitution (this is a forked process). Workaround for #2523.
2018-02-28launchd: enable keepalive for the nix-daemon serviceDaiderd Jordan
Without this the daemon won't be restarted if the process ever dies, for example when sending a SIGHUP to reload nix.conf.
2017-06-12Provide a builtin default for $NIX_SSL_CERT_FILEEelco Dolstra
This is mostly to ensure that when Nix is started on macOS via a launchd service or sshd (for a remote build), it gets a certificate bundle.
2017-05-05Figure out the user's home directory if $HOME is not setEelco Dolstra
2017-03-05nix-daemon.plist: Set XDG_CACHE_HOMEShea Levy
2016-10-13SSL_CERT_FILE -> NIX_SSL_CERT_FILEEelco Dolstra
This prevents collisions with the "native" OpenSSL, in particular on OS X. Fixes #921.
2016-08-12launchd: Set $SSL_CERT_FILEEelco Dolstra
Otherwise in particular https://cache.nixos.org won't work in the daemon.
2014-11-04TypoEelco Dolstra
2014-11-04Add a launchd configuration file to run nix-daemonEelco Dolstra