5 Jul 2025 |
emily | fwiw | 15:23:20 |
tiferrei | i will have to do some reading on Lix, i was not aware of this alternative | 15:23:38 |
emily | it will not affect your Homebrew stuff. configs that are linked into /nix will be inaccessible while you do the reinstall. it's possible that K900 is right and you can just reinstall using the DetSys or Lix installers without uninstalling at all though | 15:23:54 |
emily | if you installed with the .pkg I wouldn't count on it though | 15:24:13 |
tiferrei | ah I see -- in a way the links into /nix would be temporarily broken, but not removed, is that the right intuition? | 15:26:12 |
K900 | Yes | 15:26:30 |
emily | right. though in practice you probably want to run the nix-darwin uninstaller first, so your config would become temporarily inactive. but again, once you have reinstalled then you just activate your configuration and it all comes back | 15:27:10 |
emily | you can quickly homebrew.enable = false; if you don't want that stuff uninstalled in the interim | 15:27:19 |
emily | it's a five, ten minute process all in all | 15:27:31 |
emily | making it easy to set up your config is half the point of Nix after all :) | 15:27:46 |
tiferrei | okay that sounds really nice! My only fear is exactly that maybe the interaction with homebrew would actively purge my app data, but flipping that switch before uninstall sounds like a good safety check | 15:28:45 |
emily | homebrew.enable = false; will just stop it managing the Homebrew stuff, it won't uninstall anything | 15:29:08 |
emily | even a normal uninstall would only remove apps rather than their data | 15:29:15 |
emily | ("uninstall" vs. "zap"; I think you can configure the latter in your config if you're really brave but obviously I don't recommend it) | 15:29:28 |
tiferrei | right, i believe I do have the "zap", just because usually when i actively do remove something from my system i want a full purge, but for this purpose i will both change to uninstall first, and fully disable the homebrew integration. thanks! | 15:30:23 |
emily | btw, if you install Lix you will want nix.package = pkgs.lix; or the Lix overlay in your configuration, because nix-darwin takes over managing the daemon after first setup. (for vanilla Nix it will use it by default) | 15:32:55 |
emily | and of course you'd want to remove the nix.enable = false; required for Determinate Nix | 15:33:06 |
emily | (this is for after you have whatever Nix you'd like installed) | 15:33:22 |
tiferrei | Do you find Lix has a similar level of "playing nice" with macOS as the determinate installer provides for vanilla nix? | 15:36:29 |
tiferrei | Purely from a short read of the about page of Lix, these sound like all principles i align with | 15:36:48 |
emily | in terms of the installer themselves all of {CLI DetSys installer installing Determinate Nix, CLI DetSys installer installing Nix, Lix installer installing Lix} should be comparable since they're based on the same codebase.
AIUI the main things the Determinate daemon does are Keychain integration for custom CAs, which nix-darwin lets you configure manually but does not have an automatic thing for; management of the daemon users, which nix-darwin handles by default; and automatic garbage collection, which can be configured in nix-darwin.
but Nix/Lix don't have things like lazy trees that Determinate Nix ships and I have no idea if they interoperate with FlakeHub if you use that. YMMV | 15:41:48 |
emily | I personally consider managing the Nix installation to be one of the killer features of nix-darwin since otherwise it is a bit fussy on macOS | 15:42:12 |
emily | I know Lix would like to move more functionality from the installer into the nix-daemon itself which would help with that but I don't think anything concrete has happened with that yet | 15:42:48 |
tiferrei | That sounds good, I also wanted to have nix-darwin manage nix, rather than some third party corp that i do not know | 15:51:07 |
tiferrei | Wow, all done and everything is working flawlessly, thank you! | 15:57:19 |
emily | ๐ | 16:08:48 |
| ronald joined the room. | 20:42:11 |
6 Jul 2025 |
bestlem | I was inspired by this (and an issue with nix doctor) to update my nix - unfortunately the installer would not just work so I had to uninstall and reinstall.
I folowed the nix-darwin instructions using the Determinate installer and not use DetSys nix - which works
BUT ....
DetSys installer - does - * Create build users (UID 351-382) and group (GID 350)
And then nix-darwin then using my working flake then says -
error: Build user group has mismatching GID, aborting activation
The default Nix build user group ID was changed from 30000 to 350.
You are currently managing Nix build users with nix-darwin, but your
nixbld group has GID 350, whereas we expected 30000. | 10:06:47 |
bestlem | How do you use DetSys installer and nix-darwin together? as they seem to want different nixbld groups?
| 10:08:03 |
| fiodor joined the room. | 10:09:49 |