!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1162 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org188 Servers

Load older messages


SenderMessageTime
19 Nov 2025
@weethet:catgirl.cloudWeetHet At least I think SSL_CERT_FILE should just not be tampered with 10:35:52
@weethet:catgirl.cloudWeetHetBecause it's something not-nix related in all cases10:36:09
@toonn:matrix.orgtoonn Is the sandbox enabled by default? 10:38:40
@weethet:catgirl.cloudWeetHetFor FODs no10:40:40
@weethet:catgirl.cloudWeetHetFor non-FODs also no10:40:48
@weethet:catgirl.cloudWeetHetI think10:41:00
@weethet:catgirl.cloudWeetHetBut why does it matter what happens when sandbox is disabled. If it's disabled all guarantees are off anyways 10:41:42
@toonn:matrix.orgtoonn Since it's the common case it shouldn't be broken more than is unavoidable, no? 10:42:34
@weethet:catgirl.cloudWeetHet

Setting SSL_CERT_FILE to a non-existent file doesn't fix anything, there are 2 options:

  1. The build would randomly break with an error which is difficult to trace to SSL_CERT_FILE being /no-cert-file.crt
  2. The program would see that the file doesn't exist and ignore the variable entirely and still continue to access whatever it would if it was unset
10:45:01
@weethet:catgirl.cloudWeetHetNeither behaviour is very nice honestly10:45:14
@weethet:catgirl.cloudWeetHet Setting it to /no-cert-file.crt does nothing in 99% of the cases and breaks the remaining 1% which is using native macOS keychain in FODs 10:46:32
@weethet:catgirl.cloudWeetHet If you really want to set it to something set it to NIX_SSL_CERT_FILE but this is also incorrect since now the program that expects that it would use native keychain now starts using the .crt file 10:47:33
@supertrond:matrix.orgTrond joined the room.10:48:09
@weethet:catgirl.cloudWeetHetThis is still better than having a non-existent file since it wouldn't break immediately and for nixpkgs you can't rely on some certificates being installed locally 10:48:28
@weethet:catgirl.cloudWeetHetSo maybe this is the correct way for nixpkgs10:48:45
@weethet:catgirl.cloudWeetHetBut the current behaviour is objectively incorrect10:49:00
@toonn:matrix.orgtoonn I don't see how using the native keychain is right during builds. There's no way to manage that from Nix so it'd mean builds could never be pure. 10:53:10
@7karni:matrix.org7karni joined the room.10:55:52
@weethet:catgirl.cloudWeetHetI'm still talking about FODs 10:55:56
@weethet:catgirl.cloudWeetHetThey can use whatever certs they want as long as the output hash matches10:56:22
@weethet:catgirl.cloudWeetHet

The other option still is

# Prevent SSL libraries from using certificates in /etc/ssl, unless set explicitly.
# Leave it in impure shells for convenience.
if [[ -z "${NIX_SSL_CERT_FILE:-}" && "${IN_NIX_SHELL:-}" != "impure" ]]; then
  export NIX_SSL_CERT_FILE=/no-cert-file.crt
fi
# Another variant left for compatibility.
if [[ -z "${SSL_CERT_FILE:-}" && "${IN_NIX_SHELL:-}" != "impure" ]]; then
  export SSL_CERT_FILE=$NIX_SSL_CERT_FILE
fi
11:00:46
@weethet:catgirl.cloudWeetHetWhich is still better than the current one11:00:55
@toonn:matrix.orgtoonn For FODs I agree, if the hash matches there's no purity problem. But that shell excerpt has nothing to do with FODs, no? 11:31:28
@reckenrode:matrix.orgRandy Eckenrode How would that break using Keychain? Do some libraries not try to use it if you set SSL_CERT_FILE? 11:34:06
@reckenrode:matrix.orgRandy Eckenrode(Even if it doesn’t exist.)11:35:09
@weethet:catgirl.cloudWeetHetAs far as I can tell this just uses the bundle of the variable is set11:35:19
@weethet:catgirl.cloudWeetHet Given that unseting it fixes there run 11:35:50
@weethet:catgirl.cloudWeetHet * 11:35:59
@weethet:catgirl.cloudWeetHet * 11:41:35
@weethet:catgirl.cloudWeetHet * 11:41:52

Show newer messages


Back to Room ListRoom Version: 6