←back to thread

MacOS Catalina: Slow by Design?

(sigpipe.macromates.com)
2031 points jrk | 6 comments | | HN request time: 0s | source | bottom
Show context
soraminazuki ◴[] No.23274749[source]
Up until the release of Catalina, I've always upgraded to the latest version of macOS within a month or two. But some of the changes this time is really stopping me from upgrading.

As of Catalina, there's no sane way to install the Nix package manager without losing functionality because macOS now disallows creating new files in the root directory[1]. Nix stores its packages in the /nix directory and it's not possible to migrate without causing major disruptions for existing NixOS and other Linux users. This is too bad, since apart from Nix being a nice package manager, it also provides a sane binary package for Emacs. The Homebrew core/cask versions only provides a limited feature set[2][3].

[1]: https://github.com/NixOS/nix/issues/2925

[2]: https://github.com/Homebrew/homebrew-core/issues/31510

[3]: https://github.com/caldwell/build-emacs/search?q=support+is%...

replies(7): >>23274866 #>>23274876 #>>23275063 #>>23275095 #>>23275183 #>>23276409 #>>23276458 #
mjhoy ◴[] No.23274866[source]
It's funny, I just had to do this a few days ago.

This comment has worked for me on two machines: https://github.com/NixOS/nix/issues/2925#issuecomment-539570...

replies(1): >>23275017 #
soraminazuki ◴[] No.23275017[source]
There's just so many problems with that approach:

1. You have to create a separate volume just to install a package manager, which is a poor user experience

2. A separate volume means FileVault won't work out of the box

3. The volume can be mounted only after GUI apps are brought up

4. Restoring after sleep might fail because of 3

All of these are mentioned in the Github issue, but it might be hard to find because it requires so many clicks and scrolling to view the whole thread.

replies(1): >>23275141 #
1. mjhoy ◴[] No.23275141[source]
1 — Sure. But Nix isn't exactly the most friendly package manager to begin with. I wouldn't recommend it if you're not comfortable creating volumes.

2 — Could you explain? Mine is on and working, I didn't need to do anything else.

3 — Is this if you have login items that need nix to be available? I don't have this so I haven't noticed.

4 — I've never run into this, but again I might just not use Nix for the kind of things that would cause issues.

replies(1): >>23275596 #
2. soraminazuki ◴[] No.23275596[source]
It's not that installing Nix is impossible on macOS, it's just that it has some hard-to-ignore limitations now.

1. Having to create a volume when a plain old directory should suffice is insane. It's creating a hassle for no good reason for users.

2. /nix would be unencrypted by default if kept in a separate volume. There's also the problem of how to unlock it upon boot.

3. Login items is a very common use case so not supporting it would be problematic for many users.

4. Unreliable sleep is an even bigger problem.

replies(2): >>23275672 #>>23282140 #
3. saagarjha ◴[] No.23275672[source]
I believe Nix actually picks a volume so that it can be encrypted, and it uses one of the many ways to run a script before login (some of which still happen to work) to decrypt it?
replies(1): >>23275773 #
4. soraminazuki ◴[] No.23275773{3}[source]
It's still problematic because that can only happen late in the login process.
replies(1): >>23275815 #
5. saagarjha ◴[] No.23275815{4}[source]
I read that thread a couple weeks back (was doing some firmlink research and stumbled upon it) and I seem to recall someone there finding something that ran pretty early. Perhaps I'm misremembering? I am sure there is at least one way to get this done, but I'll have to go look into what it is.
6. mjhoy ◴[] No.23282140[source]
Thanks for explaining! It sounds like I am just lucky with my set up not to run into issues. Hopefully they come up with a solution soon.