aboutsummaryrefslogtreecommitdiff
path: root/misc/launchd
AgeCommit message (Collapse)Author
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-06-23Apply OS checks to host platform, not buildAlyssa Ross
Previously, the build system used uname(1) output when it wanted to check the operating system it was being built for, which meant that it didn't take into-account cross-compilation when the build and host operating systems were different. To fix this, instead of consulting uname output, we consult the host triple, specifically the third "kernel" part. For "kernel"s with stable ABIs, like Linux or Cygwin, we can use a simple ifeq to test whether we're compiling for that system, but for other platforms, like Darwin, FreeBSD, or Solaris, we have to use a more complicated check to take into account the version numbers at the end of the "kernel"s. I couldn't find a way to just strip these version numbers in GNU Make without shelling out, which would be even more ugly IMO. Because these checks differ between kernels, and the patsubst ones are quite fiddly, I've added variables for each host OS we might want to check to make them easier to reuse.
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