4 ms·
If you've spent time with Nix, I assume you heard about Guix at some stage. And if you've heard about Guix and still make the above comment, I assume you have s
by ayrtondesozzla 1y ago
If you've spent time with Nix, I assume you heard about Guix at some stage. And if you've heard about Guix and still make the above comment, I assume you have some reason(s) to think the Scheme programming language doesn't solve some/all those problems you mention.
Nonetheless, in case those assumptions are off - GNU Guix exists, and is written in and extended in (Guile) Scheme. Guile is general purpose, has the excellent Andy Wingo powering a lot of improvements to the language the last years, and some people are very fond of it. Perhaps you'd be interested in investigating, if Nix's DSL wasn't to your liking.
- pshirshov 1y ago> the Scheme programming language doesn't solve some/all those problems you mention Yes, the Scheme programming language doesn't solve any those problems I mention. > improvements to the language Despite of the language, if we speak about Linux distros, I need all those pesky blobs to get my desktop running. And, by the way, is there anything alike to flakes, so I can have an actually reproducible build, not a mess of channels?
- ayrtondesozzla 1y agoIf misquoting someone intentionally seems like normal behaviour to you, I'll leave the discussion there, thanks
- pshirshov 1y agoSuch a waste of a throwaway account. I can explain what's wrong with Guix and Scheme in detail but who cares.
- ayrtondesozzla 1y agoFirst you misquote me in an oddly obvious and low-effort way, now another inane comment - how can the nature of this account have any relevance? You wrote a comment implying what's wrong with Nix is the language, and stating that there's unfortunately "nothing better" out there. It is true in this universe that there is a software project called GNU Guix, which is 13 years old, whose literal origin idea is - what if we take the general idea behind Nix, but write it all afresh in a fully featured programming language, and make it extensible and configurable with that language. There are a host of reasons you might not want to get into that personally, as I stated - but it really does exist, regardless of your personal feelings?
- pshirshov 1y agoTo be very short, I see two issues there: 1) Nix language is ugly but it's pure. Scheme is not. To my taste it's even harder to reason about/debug/introspect because of lack of purity. 2) Guix itself lacks any nonfree software/blobs, which is essential to run a real desktop. That is a showstopper for newcomers and in my opinion that's what prevent the community growth, so there are much less packages, docs, etc. 2.1) There were channels to add nonfree blobs, but channels make system less reproducible and they were unofficial. Maybe I'm not up to date with the Guix developments, but as far as I'm aware there is no replacement for Flakes and a system with multiple channels is not reproducible and easy to break.
- ayrtondesozzla 1y agoActually, just in case any sincerely interested people are browsing, let me address your original points re. Nix's DSL, which made me wonder if you had read about Guix and Guile: > Nix is bad because the language is very limited and extremely hard to debug and the module system is fragile and obscure -- Limited :: here's a collection of Guile software https://sph.mn/foreign/guile-software.html https://sph.mn/foreign/guile-software.html. It's not Python, but it is a general purpose language used by lots of people for serious software work, with a nice library of lovely Scheme books for learning, too -- Hard to debug :: Guile has built-in debugging support, and there are interfaces like Geiser in Emacs with extra tools, and also support for interacting with GDB -- Module system :: Guile's module system was first implemented in 1996, I learned from browsing there. Anyway https://www.gnu.org/software/guile/manual/html_node/Modules.html https://www.gnu.org/software/guile/manual/html_node/Modules.... So yes, if you don't like Lisps, or don't have time to learn new things, or don't like something else about Guix, by all means, steer clear. But the statement: "there's no Nix but with a general purpose, powerful programming language" is, I think, demonstrably false.
- pshirshov 1y ago> if you don't like Lisps I don't like impure languages with weak type systems. Ironically, I mostly use Scala, which is an impure language but it has a very powerful type system, unlike any other.
- ghthor 1y agoYou can pin nixpkgs without channels directly in your configuration using fetchgit and import. You can even do this multiple times (don’t do it too many times though as it will increase evals times) and doing this you can run all kinds of different software at different versions.
- grep_name 1y agoDo you use guix? I've used nix for years now, and I really wanted to use guix instead, but I could never wrap my head around it for some reason. Once I installed nixOS, I felt like I could just kind of get rolling without the confusion. I couldn't tell you where that confusion comes from though. However, after these last few years, I have a few gripes that I'd like to check with a guix user to see if they're represented in guix. 1) I can't easily pin a software I'm using to a specific version, it seems like everything has to be from a specific hash of nixpkgs 2) Relatedly, I can't upgrade firefox without upgrading every single piece of software installed on my computer 3) Dynamic linking doesn't work. I can get around it with steam-run, but that's hacky and I worry it won't be supported forever
- -__---____-ZXyw 1y agohttps://guix.gnu.org/manual/en/html_node/Defining-Package-Variants.html https://guix.gnu.org/manual/en/html_node/Defining-Package-Va... -- section 9.3 of the Guix Reference Manual at least answers problem 1 for you, I believe. I think 2 is possible, and not sure about 3. I was more a happy Guix user and computing beginner, rather than an expert, I didn't do anything overly fancy. I was starting to dabble with more advanced topics, but had to leave that system unfortunately for unrelated reasons. Looking forward to a glorious return though, I must say, as soon as I can manage it. Don't hesitate to try the official documentation with your problems, it's excellent. No answer there, try a full description of your issues on the mailing list, they're a great bunch too. Search the help-guix archive here before emailing them -- https://lists.gnu.org/archive/html/help-guix/ https://lists.gnu.org/archive/html/help-guix/ Details on joining the help-guix mailing list, and/or where to send questions, here -- https://lists.gnu.org/mailman/listinfo/help-guix https://lists.gnu.org/mailman/listinfo/help-guix