lobsters score: 5 · tags: ask, nix
Switched from Nix to Guix a while ago. Guix has an excellent documentation and a nice community.
score 1 · canonical
I’ve been using normal Nix for a couple of years now. I didn’t even know there were drop in replacements! I’m looking at changing to Lix now.
score 1 · canonical
I use Lix for the QoL and developer improvements,
log-format=multiline-with-logs, and now (as of 2.96) for being able to useletinflake.nix.
score 1 · canonical
I’ve been on NixOS for about 10 years. I just reinstall git and other programs whenever they stop working (presumably after GC sweeps a
.sodependency away?), never bothered with flakes or home-manager or whatever, don’t understand the configuration language. I get screenfuls of “xx dependency is out of date, use xy” messages on system updates. It’s low-maintenance and high-maintenance at the same time, if that makes sense.I’ve been thinking of switching to something simpler. I don’t think there are any Nix features that are unique, important to me, and outweigh the rest of it. I kept starting to try Guix (so I can actually write software packages for my own computer!) but every spare machine I could test a new OS on is 32-bit, so they’re getting Haiku or NetBSD for fun, and I guess I’ll have to set aside a sunday to just jump ship.
score 1 · canonical
I just reinstall git and other programs whenever they stop working (presumably after GC sweeps a .so dependency away?), … I get screenfuls of “xx dependency is out of date, use xy” messages on system updates.
I’ve been using NixOS more than 10 years and I don’t think I’ve heard of either of these issues before. How is it that you “install git and other programs”? Dependencies of packages installed through Nix should not be getting GC’d.
It’s low-maintenance and high-maintenance at the same time, if that makes sense.
I do agree with this, though.
score 1 · canonical
Dependencies of packages installed through Nix should not be getting GC’d.
I thought that too! I used
nix-env -iA nixpkgs.gitFulllast time - git is the only one that simply disappears from$PATH, the rest of the time it’s usually some graphical program or other refusing to start. Every time,nix-env -iAfixes it. I think it happens after anixos-rebuild --switch, but I don’t currently have enough disk space to find out.The deprecation messages look to be custom per package during
nix-env -u(which, incidentally, takes freakin’ years to start downloading anything these days). (I heard once upon a timenix-envisn’t the best thing to use, but it comes preinstalled, the NixOS manual endorses it, and it does what I want it to, so, shrug!)
score 1 · canonical
Ex-nixpkgs user here (never the OS).
I really want to try out Guix on real (or virtualized) hardware, mostly in order to avoid nix, the language.
score 1 · canonical
I use NixCpp since I want BLAKE3 hashes & Lix doesn’t support it. Otherwise, at least for now, Lix aligns more with some of my beliefs & I would like to try it again. NixCpp has been improving too tho.
I could see NixCpp being better/leaner/cleaner if it could shed the baggage of Flakes being merged prematurely. That feature IMO needs to be label “experiment failed” & moved out into a plugin (Lix’s goal) or separate project such that 1) the binary is not concerned with input pinning, schemas, or the extra maintenance burden of forge-specific support in
fetchTree(largely to facilitate in adding input pinning / refreshing to the binary) 2) those that wish to use/adopt/contribute to flakes can iterate independent of the binary 3) alternatives can be on equal footing as I think the design has a lot of flaws (but it’s hard to compete with “just enable this flag”). There just so many bad patterns that have resulted from when flakes ergonomics push projects into heavy coupling; the way folks use flakes get their otherwise stable code completely locked behind an unstable feature that is non-trivial to evaluate (sinceflake.nixisn’t valid Nix).I’d like to try Guix in theory but I don’t care for LISPs & it’s as simple as that for me, an ML-family fan (I believe there are non-LISP-y way to use it, but technically you can skip Nix the language by compiling to the
.drvfiles too).
score 1 · canonical
I switch between lix and nix depending on which has the better eval speed. Right now I’m on nix.
score 1 · canonical
At this rate, we’ll soon be running out of words that end in -ix! Even
hix,mixandixnayare taken. We’ll have to move on to longer words; crucifix? appendix? Bellatrix? cervix? limerix? cowlix?
score 1 · canonical
I use NixOS, with occasional thoughts about moving to guix, because nix-the-language is awful, but then I don’t because I like the size of the nix community.
score 1 · canonical
Regular Nix, anxiety that I’ll hit a very weird niche scenario where Nix and Lix aren’t identical stops me from switching to Lix 😅️
score 1 · canonical
update: the Lix installer failed, messed something up with the nix daemon service, had to reinstall nix.
score 1 · canonical
I chose Lix because I like the idea of Nix with community-first principles that takes Rust seriously, and really I only chose it over Guix because Nix is more popular and will have more industry usage as time goes on. Guix is probably cooler but being Lisp it’ll never be popular enough that a guy like me could get employed to work with it.
score 1 · canonical
Lix because I trust the dev team more than any other Nix-like, with Guix as a close second in that regard. Not Guix because I don’t like lisp and I do like the convenience of the world’s largest package repository.
score 2 · canonical
Determinate Nix is the “corporate” version. It’s run by big names in the Nix ecosystem but there’s perennial concerns about them not upstreaming improvements, trying to shove features in, whatever. I don’t know if it has any compelling benefits over cppnix.
Lix I like because it feels like they’re trying to fix a lot of the papercuts that are involved in the ecosystem, untangle the gnarly codebase, and so on. AFAIK there are no incompatibilities between it and cppnix unless you do weird stuff.
Guix has the advantage of using a proper language and first class home-manager(-equivalent) support. The biggest downside is that it’s a gnu project so nonfree software support will always be secondary, and IIRC there were still enough sharp edges when I tried it that I went back to Lix. But I wish them well and hope they succeed!
So I’d say either Lix (if you want to be able to interop with the broader Nix ecosystem) or Guix (if you like Scheme, copyleft, or a more cohesive system).
AFAIK none of snix/tvix/etc are usable as a replacement for the cppnix binary in the way Lix/Detsys Nix are.
score 5 · canonical

