{^_^} has quit [Remote host closed the connection]
{^_^} has joined #nix-darwin
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nix-darwin
<abathur> I've been wondering about that ruby thing
<abathur> I assumed because of when I first noticed it, while testing the new stdenv work, that it was related to that
<{^_^}> #101330 (by r-burns, 4 days ago, open): cctools-port 949.0.1 broke various builds on macOS
<abathur> yes
<abathur> I noticed a ruby break several days ago when I was running some CI tests to demonstrate to domen that the Big Sur installer updates worked
<abathur> or wait
<abathur> I'm sorry, I'm mistaken; I have ruby on the brain from another issue; this was a rust crate failing I think
<abathur> (but maybe the same actual issue?)
<supersandro2000> the ruby failure causes a lot of packages to fail
<abathur> nod I imagine
<supersandro2000> is the error LDFLAG="" invalid?
<abathur> uh, I don't think so; let me see if I still have one in CI
<supersandro2000> then it is maybe something else
<abathur> mine *may* actually be the stdenv work, and I may just be making a dumb connection here :)
<supersandro2000> if you need help fixing something feel free to ask here
<abathur> not too directly worried about it, I was just trying to prove the installer worked, so the build failure was incidental and I didn't really expect it to work in the first place
<abathur> I did get a little more concerned when I noticed this in my cron CI run a couple days ago; I haven't found the initial run/error yet, but I *think* this is the same error
<abathur> command did not execute successfully: "/nix/store/5nigpb73vhh8rfkr1rhhqzwjbzc00x1j-cargo-bootstrap-1.45.2/bin/cargo" "build" "--target" "x86_64-apple-darwin" "-Zbinary-dep-depinfo" "-j" "4" "--release" "--frozen" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/private/tmp/nix-build-rustc-1.46.0.drv-0/rustc-1.46.0-src/src/libtest/Cargo.toml" "--message-format"
<abathur> "json-render-diagnostics"
<abathur> I think that's downstream of the real error, which is probably the "dyld: Symbol not found: __ZTIN4llvm10CallbackVHE" Referenced from: /nix/store/v9d6qvdbdxl3ax4nl700lgci19gxafi8-clang-10.0.1-lib/lib/libclang-cpp.dylib Expected in: /nix/store/1n7yirznfx5gaqrhl05216wb01ky1b5g-rustc-bootstrap-1.45.2/lib/libLLVM.dylib in
<abathur> /nix/store/v9d6qvdbdxl3ax4nl700lgci19gxafi8-clang-10.0.1-lib/lib/libclang-cpp.dylib
<abathur> but anyways, not far enough up my to-do list to sweat just yet; focused on nix#4181 for now
<{^_^}> https://github.com/NixOS/nix/pull/4181 (by abathur, 3 days ago, open): darwin: encrypt nix volume if filevault is enabled
<supersandro2000> have fun with that
dhess has joined #nix-darwin
Chiliparrot has quit [Ping timeout: 260 seconds]
Chiliparrot has joined #nix-darwin
<abathur> hehe
<abathur> yeah, definitely not having fun with it
<supersandro2000> don't take me to serious
<supersandro2000> I am currently packaging pyobjc
<supersandro2000> 50 python modules
<supersandro2000> each and every requires a little different set of modules
<supersandro2000> *frameworks
<supersandro2000> and then patching values and disabling tests...
adelbertc has joined #nix-darwin
akoppela has joined #nix-darwin
<akoppela> Hello everyone
<akoppela> I'm trying to understand how to install apps
<akoppela> e.g. Slack
<akoppela> Nix expression says it will be unpacked to $out/Applications
<akoppela> and I can find it in store at hash-slack/Applications/Slack.app
<akoppela> but there is no command line slack binary
<akoppela> how I'm suppose to run it?
<akoppela> there is a Applications symlink in user directory
<akoppela> but Slack is not there
<abathur> the only app I manage with Nix also has a plain CLI so I'm not super familiar with how it's supposed to work, but until someone else responds, can you try `open -a Slack.app`?
<akoppela> abathur: it opens the app
johnw has quit [Quit: ZNC - http://znc.in]
akoppela has quit [Remote host closed the connection]
<emily> my path looks like `/usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Apple/usr/bin /Users/emily/.nix-profile/bin /etc/profiles/per-user/emily/bin /run/current-system/sw/bin /nix/var/nix/profiles/default/bin`. I'm using nixpkgs fish as my login shell and have `programs.fish.enable = true`, is it expected that the Nix stuff all comes last?
<emily> environment.systemPath seems like the Nix stuff should come first at least
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
Chiliparrot has joined #nix-darwin
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
Chiliparrot has joined #nix-darwin
hmpffff has joined #nix-darwin
hmpffff has quit [Client Quit]
johnw has joined #nix-darwin
<thefloweringash> looks like path_helper :-(
<thefloweringash> nix-darwin#122
<thefloweringash> oh, is that not the right format for the bot? this thing anyway: https://github.com/LnL7/nix-darwin/issues/122
<{^_^}> LnL7/nix-darwin#122 (by grossbart, 1 year ago, open): $PATH is broken for fish shell (and I think for bash, too)
adelbertc has quit [Quit: Connection closed for inactivity]
hmpffff has joined #nix-darwin
cransom has quit [Ping timeout: 240 seconds]
cransom has joined #nix-darwin
<LnL> yeah there's an issue with fish
__monty__ has joined #nix-darwin
<supersandro2000> yeah pyobjc-core built after 3 days of fiddling 🎉
hmpffff has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hmpffff has joined #nix-darwin
akoppela9 has joined #nix-darwin
<akoppela9> Hello everyone
<akoppela9> There is applications.nix file
<akoppela9> in trying to understand how packagers are added (or symlinked) to applications
akoppela9 has quit [Remote host closed the connection]
supersandro2000 has quit [Quit: The Lounge - https://thelounge.chat]
supersandro2000 has joined #nix-darwin
hmpffff has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
supersandro2000 has quit [Ping timeout: 246 seconds]
supersandro2000 has joined #nix-darwin
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nix-darwin
philr has quit [Ping timeout: 246 seconds]
hmpffff has joined #nix-darwin
<abathur> I think I could still use more direct input on https://github.com/NixOS/nix/pull/4181#issuecomment-716242733 (and maybe a cc @NixOS/darwin-maintainers :); seems like consensus is leaning towards removing single-user darwin installs; or maybe I'll have to pull it out into discourse?
<supersandro2000> Do we lose anything when removing it?
<supersandro2000> Don't think so right?
<abathur> I'm not comfortable trying to summarize it at that high of a level, but that is roughly the question
<abathur> I'm having a hard time characterizing it, but i.e., we've already been forced to violate some of the more salient benefits of single-user mode to install on Catalina+; we can get simpler installs, but they entail violating it further--what do?
<LnL> I'm not sure about entirely removing the single user path, but switching feels like the best direction
<LnL> so for example move all the volume handling and have single-user only work when /nix already exists
<LnL> that way there also shouldn't be too much platform specific behaviour/implementation other than the default
<LnL> abathur: also FYI you already pinged the darwin maintainers, it's not a big group :)
<abathur> if I am extrapolating right, you mean that macOS <= 10.14 would default to single-user, and macOS >=10.15 would default to multi?
<LnL> nah just everything would be fine at this poin I think
<abathur> LnL: k; I hoped so but shooting from the hip and didn't want to leave anyone out
<LnL> just not block off the path that exists on linux (without the weird volume stuff) completely
<abathur> oh; default multi-user, but allow macOS users to specify --no-daemon (always? or only with a writable root?)
<LnL> you only missed copumpkin, but he hasn't been very active in some time
<abathur> :)
<LnL> not sure how relevant it would be to still make conditional
<LnL> it's easier if everything is the same, since it's basically the only supported path at that point
<emily> we should really ship an uninstaller
<emily> or people will hate us for adding 32 users and a volume and etc.
<emily> I guess the docs are at least pretty clear about what you have to undo
<LnL> yeah, that part will be less nice with the switch
<LnL> there are also a few other small tweaks that could be done to make it a bit better in a few cases
<LnL> eg. does the channel really have to be configured for root by default?
<LnL> and the installer could setup both /etc/bashrc and ~/.bashrc so the issue with updates doesn't really bother people that only use a single account
<abathur> emily: it's a good point, and there's still time to argue it; I don't think any outcome is a given yet
<LnL> btw I also took a first stab at the installer binary
<abathur> nice
<emily> ugh, that fish issue
<emily> what if we just patched nixpkgs fish to not do path_helper?
<emily> I guess that would be bad for non-nix-darwin users
<LnL> if test -z $PATH; then ...; fi?
<LnL> that might also be upstreamable
<supersandro2000> Uninstaller or default to 4 users or so
<LnL> it's more than the default count used because passing -jX will fail otherwise
<LnL> and having more can be useful for substituting
<emily> defaulting to fewer users also doesn't solve /etc/synthetic.conf(.d), /etc/fstab, diskutil apfs blahblah, deleting the group, ...
<LnL> yeah, it's too complicated to do manually now
<emily> <LnL "if test -z $PATH; then ...; fi?"> is PATHt totally empty at the start of a conventional login shell?
<emily> > <@freenode_LnL:matrix.org> if test -z $PATH; then ...; fi?
<emily> * is PATH totally empty at the start of a conventional login shell?
<{^_^}> error: syntax error, unexpected '<', at (string):345:1
<supersandro2000> I am getting a segfault with the Cocoa Framework and sockets. Anyone any idea?
<LnL> whoa, some matrix weirdness there :p
<emily> ah, sorry
<LnL> emily: yeah so if PATH is not defined in the environment run the path helper but don't otherwise
<emily> was replying to the `test -z $PATH` line
<emily> how far I've fallen from my IRC elitist days, it's hard to remember replies don't work there by now...
<LnL> heh, I always feel that I'm missing something because I don't understand the appeal of matrix
<LnL> supersandro2000: is this from python?
<supersandro2000> LnL: yeah, pyobjc
<supersandro2000> I am stupid
<supersandro2000> I thought it does some local websocket but `sd.connect(("www.apple.com", 80))`
<{^_^}> #12346 (by pikajude, 4 years ago, open): Darwin packages get linked with two different copies of system framework, causing strange runtime errors
<supersandro2000> 🤔 mmm
<supersandro2000> I try this thanks
<LnL> we solved this for binaries by linking against the correct library at build time
<supersandro2000> LnL++
<{^_^}> LnL's karma got increased to 0b1011011
<LnL> but since the python interpreter is the same in both cases we can't really do that there
<supersandro2000> and don't get me started with versions
<supersandro2000> does Nix use 10.09 or 10.12?
<LnL> we use 10.12 compatibility / sdks
<{^_^}> fish-shell/fish-shell#5641 (by thefloweringash, 1 year ago, closed): No way to configure system PATH with higher priority than vendor PATH
<supersandro2000> LnL: means I should set the version to 12 or better 9?
<supersandro2000> well 9 does not compile so 10 or 11 works
<LnL> not sure what version you're referring to
<emily> LnL: re appeal of matrix, well, for IRC it's IRCCloud (no disconnections, usable across multiple devices incl. decent mobile client, persistent logs) but free
<emily> for general messaging... IRC only gets more annoying if you try and layer e2e over it, especially if you have multiple devices
<emily> I think people were working on porting OMEMO to IRCv3 or something...
<supersandro2000> or just throw thelounge on some vps
<emily> sure, there are lots of options. i find this is the one that works best for me (e.g. does thelounge get you a mobile client with push notifications even when the app isn't open?)
<LnL> *shrug* znc does everything I want it to
<emily> it seems like some people have PATH issues even on non-fish
<emily> I guess probably just because of /etc files still having path_helper in them?
<supersandro2000> TheLounge is a PWA
<supersandro2000> not sure about push notifications
<LnL> emily: that's usually dotfiles which overwrite PATH
<LnL> btw does anybody know if there are apis to interact with apfs/diskutility?
<supersandro2000> LnL++
<{^_^}> LnL was put on Santa's "nice" list
<supersandro2000> no more segfault
hmpffff has quit [Ping timeout: 272 seconds]
<LnL> the CF stuff is still a bit awkward with interpreters :/
<LnL> isn't that an apfs implementation?
hmpffff has joined #nix-darwin
<supersandro2000> CF is CoreFoundation?
<supersandro2000> I should use Foundation to link against right?
<supersandro2000> according to the comment in Apple Frameworks yea
hmpffff has quit [Ping timeout: 260 seconds]
hmpffff has joined #nix-darwin
<emily> LnL: I'm guessing diskutil mostly talks to diskarbitrationd
<emily> not sure of the actual API for that is public but there's some kind of level of docs of the relevant framework iirc
<emily> not sure about apfs-specific stuff
<emily> I wonder why path_helper prints out a PATH including Nix paths for me
<emily> there's nothing Nix related in /etc/paths{,.d}
<emily> ohh, it inherits the existing PATH
<supersandro2000> Any idea about: ?
<supersandro2000> an error occurred while attempting to obtain endpoint for listener 'ClientCallsAuxiliary': Connection interrupted
<emily> is there a simple way to get rid of the `/nix/var/nix/profiles/default` and `~/.nix-profile` entries from paths etc.? I don't use `nix-env` environments at all so those profiles are pretty useless for me and have made debugging this PATH issue more annoying. (this was something I meant to do on NixOS for a while but never figured out...)
<emily> ah, I guess `environment.profiles` is related
gchristensen has quit [*.net *.split]
gchristensen has joined #nix-darwin
hmpffff has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
__monty__ has quit [Quit: leaving]
<emily> is it safe to skip path_helper entirely with path managed by nix-darwin? I do have one file in /etc/paths.d adding /Library/Apple/usr/bin which I guess is probably either stock or from Xcode
<emily> might try just patching the global fish config
philr has joined #nix-darwin
hmpffff has joined #nix-darwin
hmpffff has quit [Client Quit]
<emily> workaround seems to work!
<emily> well, "workaround"; I patched the fish package
<emily> but it might be good enough to put in nixpkgs at least. not 100% sure it wouldn't break trying to use nixpkgs fish outside of nix-darwin though, would anyone be up for testing that?
<emily> oh, actually, it is missing /Library/Apple/usr/bin. is it really intended that /etc/paths.d is totally ignored with nix-darwin? it seems like that could easily break installing stuff externally like xquartz and manually mirroring all the entries in the nix-darwin config could be a bit painful
<LnL> yeah it is, feels kind of weird to add random entries while environment.variables.PATH is declarative
<emily> right. I guess I'm wondering if it wouldn't be better to just expose an interface to add things to /etc/paths.d rather than expecting people to add random stuff to path
<emily> if `/etc/paths.d/100-rvictl` exists on a stock catalina it should probably be added to the path defaults, but not entirely sure about that
<LnL> just managing everything with paths.d, environment.d, etc. is also something I've thought about
<emily> it seems like it could be potentially nicer. I'm unclear on whether `environment.vars.*` customizations work for e.g. GUI apps that (presumably?) aren't the child of any shell for instance
<emily> (or is macOS login so oldschool that it involves a /bin/sh -l at some point?)
<supersandro2000> GUI programs inherit their envs from the parent shell
<supersandro2000> or anything parent
<supersandro2000> Did you already dump env?
<LnL> I think it comes from the launchd user context I think
<LnL> but paths.d is also the only thing that exists, there's nothing like it for variables in general
<emily> supersandro2000: on "modern Linux desktop" these days there is no shell parent of a random GUI app you run
<emily> not sure if it's true of macOS, but I'd at least hope so -- launchd was my guess, yeah
<emily> I tend to avoid setting stuff via shell for this reason so I'll probably do most things via launchd
<supersandro2000> it is run with systemd
<emily> seems like my launchds have no PATH set currently
<supersandro2000> or something
<emily> sure, and systemd doesn't read /etc/profile
<supersandro2000> it gets some ENV or explicitly none
<emily> ok, this needs more work :p
<emily> I guess there's no way to do the $HOME thing with paths.d even
<emily> if we could use /etc/paths.d, a nice blend between declarativity and flexibility could be to simply initialize environment.systemPath from readFile /etc/paths + /etc/paths.d
<emily> so you can either add stuff to it by assigning in the normal way, or override the system paths with mkForce etc.
<emily> and all the /etc/paths.d/* files are still reflected in the nix configuration
<emily> (and then you just filter out the ones already present on the FS to write /etc/paths.d/00-nix-darwin)
<abathur> mostly unrelated, but is there a way to detect .d support for a given conf?
<abathur> technically apple gave us synthetic.d, but IMO it takes more effort to support doing it both ways than just using synthetic.conf
<abathur> and I kinda hate them for even bothering to add the .d variant a single cycle later
<supersandro2000> abathur: don't think so
<supersandro2000> most configs on debian abuse their include feature
<supersandro2000> and just tell it to wildcard load in conf.d
<supersandro2000> this is necessary if multiple packages should ship configs like php does
dhess has quit [Remote host closed the connection]