5 Jul 2025 |
K900 | It should assuming the detnix installer generates a correct manifest? | 15:20:46 |
tiferrei | If it is relevant: I quite like the determinate nix installer: the whole separate partition robustness business. but at the time i was not aware this was installing an actual downstream of nix | 15:21:32 |
K900 | The separate partition is the only way to do things I believe | 15:22:10 |
K900 | So all Nix flavors do it | 15:22:16 |
tiferrei | My fear was that if i uninstall this, with it would go all my homebrew-nix managed stuff, and it would maybe purge my configs, etc. I have very frequent backups but id like to avoid going through restoring everything if possible | 15:22:37 |
emily | you can use the command-line DetSys installer to install vanilla Nix | 15:23:07 |
emily | (but not the graphical .pkg ) | 15:23:14 |
emily | and the Lix installer is based on the DetSys one | 15:23:17 |
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 |