3 ms·
A Look at Nix and Guix
- kkfx 3y agoNixOS user here: I hate nix language (and flakes as well) BUT NixOS allow for a modern desktop, Guix System unfortunately seems too tied to HPC with a little attention for modern desktop needs... Son the choice. Beside Nix and Scheme the main point is that an OS is defined, so easy to replicate, easy to change and revert, ... with just few text files, this is a thing ALL systems MUST have since DECADES instead of remains back at the 80s like most system are, offering at maximum some third party tools to replicate (if they work properly) with a far bigger work from Fog to Ansible. Infrastructure as Code is simple and can be done by anyone with Guix/Nix and that's the real point. Build a custom ISO to quickly deploy any personal system or simply give it to a third party with a preconfigured reverse ssh / rustdesk is a VERY nice and useful ability. Unfortunately most of the current development goes in wrong directions for the humanity (containers and so on) because those routes are needed for commercial purposes, and that's make a large slice of the current sorry state of IT. An open suggestion: try to think about what we have in tech terms today, imaging the present with an IPv6 global per host, a common practice for anyone to have a family domain name, a personal one for adults, subdomains for their hosts and a desktop centered model, where any home have a homeserver to allow sync data between personal and friends hosts. Did you realize that we ALREADY have all the tools, just lacking knowledge and interest? Deploying such infra with systems designed like Guix/Nix allow is something a casual domestic power user can do at home. Something all high school students can learn, understand enough to became netizen of a new old internet. Try to imaging how much we miss just because most if the IT development is directed by few giants who know and many "sheep" who do not know nor care to a point even many techies fails to imaging what we can really do.
- nemoniac 3y agoCould you say more about how you feel that... > Guix System unfortunately seems too tied to HPC with a little attention for modern desktop needs. I ask because Guix meets all my modern desktop needs.
- kkfx 3y agoSome point for me: - LVM and zfs support - nvidia proprietary and open drivers (not modsetting) as the most basic, a large slice is in available module to easily deploy various stuff, a final part for some "external" support for proprietary clients of some well-known conferencing services. For me LVM was the first showstopper, I've then decide to go for zfs (ESP+zpool with anything, root, and swap included, with zfs encryption) and again Guix system offer something externally but too raw to be used. Just trying experimenting aside I've found some nice and fresh "derivations" for some GNU software, but also many missing stuff and implementing them would be very long. There is plenty of support for reproducibility, versioning etc that on desktops are not that interesting but...
- k8svet 3y agoI don't get the hype around IPV6 from this angle. I'm going to slap tailscale on it anyway. I also think the topic is 100% orthogonal to OS choice
- kkfx 3y agoNot much: to be "local first", classic desktop model, we also need connectivity, meaning the ability to reach ANY personal service without any third party IT services (just TLCs). My point is that we need at all level a declarative approach, but we need much more the classic desktop model who can exists only with a declarative approach easy enough that generic power users can manage a full home infra with all their systems/services self-hosted. This allow for FLOSS software targeting personal desktops like let's say Tox instead of Zoom, RetroShare instead of DropBox and so on. Services accessible with simplicity for anyone, all manageable with little code. All distributed solutions have too much overhead, so we need a classic client-server model, but for anyone hence and IPv6 with a global per host, a "family" domain name with relevant subdomains per hosts.
- myaccountonhn 3y agoI’ve tried both systems but ultimately ended up with nix. Not really because of the package availability, but more because the install times were just incredible slow, even with substitutes. I remember installing Firefox was taking a few hours (from nonguix), because it was downloading and compiling everything to ultimately error out. With a substitute it took 10 minutes, better but still incredibly slow for what was instant on Nix. When every package takes that long to download, it just feels so incredibly slow to work with. Running guix pull first time after install took forever, and consecutive calls were also slow. I found that guix would also seemingly pull in random dependencies, like installing a cli tool would include gtk and pulseaudio somehow. Maybe I was missing something, but I felt like it was happening persistently. I also grew to actually kinda like the nix language. While the syntax is confusing, for example laziness is great for such a language. I do gotta say though that the documentation for Guix is MUCH better. I barely needed to reach out to the community and the few times I did it was because I had missed a section in the manual.
- deleted 3y ago[deleted]
- djaouen 3y agoNot a fan of Nix, but a really big fan of Guix. :)
- kkfx 3y agoNot a fan of Nix (language) as well, but on NixOS because Guix System is simply not made for a personal desktop usage... That's for me the sad state of things...
- n8henrie 3y agoIt seems that Guix has some technical benefits as compared to nix, but I wasted a week just trying to get Guix System installed on an old x86 laptop and never got past the login screen without a hang or crash. Nix on the other hand booted first try, installed like a breeze, still running on that machine to this day, so for me, for now, NixOS it is.
- kreetx 3y agoEnemy! :) But seriously, at least nix has become quite popular and most issues have solutions via search, SO or in github issues - it used to be much worse.