Every new fucking project I need to dig in... I end up fighting against #Guix it's pretty annoying... I don't really control very well how to insert variables in the config-flags and when is each thing executed... or the gexps... and at the end of the day this is just a pain in the ass for no reason
@civodul I'm trying to understand the inner-workings of Guix in order to free myself from the pain and free other people but it's not easy. It's like all the good things guix gives me have the counterpart of being a pain in the ass too...
Most of the time there's no solution.
More specifically, how can I understand properly the execution time of the different parts of the package and how they are launched and the api I have available there? I'm talking about #:configure-flags for instance.
@ekaitz_zarraga Guix adds complexity to reduce complexity of deploying or using stuff when you finally configured your stuff. But overall it has everything that FHS distros has + guiled nix abstraction on top of that. I've read on the net, that many people complain that it is hard to understand what is going on in nix. And also it is hard to understand what's your installed program doing, because it is different from what's written in archwiki (or other source pretending that you use fhs distro)
@w96k I can, after 3 years or so, understand what my programs do but customizing guix for my extremely weird needs is sometimes confusing because: 1) I don't know guile well enough 2) I don't know guix well enough
I wish I could just read a book about guix internals that was really technical but explaining everything from the ground up.
It takes time, but when you are working on another project for money, spending time on learning this is hard. I'm already really busy and tired...
@w96k having the packages and the code of guix itself together doesn't help for that git flow but I can give it a go.
I think guix's docs are great but they don't fit me well, because of the type of person/coder I am. I don't have the necessary background for it. It's obviously not Guix's fault but mine, but this is what we have.
@ekaitz_zarraga I work for now and I understand that feeling. It is sad, that there is probably no work that would compensate your learning time or something like that.
Guix internals book would be great, but honestly it is rare when docs are at least as good as guix docs. I think we should not complain about that at all. I think one of styles of learning programs is using git time machine, using it to see how program evolved over time. It surely needs a lot of time to investigate.
@w96k Also big part of the problem is that I'm working with/for Guix and it's interfering a lot but also it's the only tool that would let me do this work so it's kind of a complex feeling.
@w96k Just in case, in order to clarify what kind of person/coder I am:
I have not a background on computer science and I never studied functional programming formally. I understand many of the things, because I read *a lot* and I have some experience with functional programming languages but some underlying concepts are obscure to me still.
So we could summarize that I don't really have the context to understand it all, and the context is what is hard to get.
@ekaitz_zarraga nix docs are huge, but many people find them useless or not informative or too complex. Some people complained in ru chat about guile docs, but honestly as scheme implementation doc it is not that bad, but as scheme as a language it is not that great.
@w96k guile docs are pretty good if you already understand scheme really well, and I'm talking about the jargon and all that. The main problem they have is there's no other place were all that information is packed. Even the R5RS, which is easy to read, does not provide that properly. It's years of experience in the area which gives you the context, and that, for someone that just enters the project, it's undermining.
I didn't try with nix, but it probably falls to the other end.
@civodul I (re)read them diagonally this morning trying to get some info and I didn't find what I was looking for but I'll do it tomorrow with more concentration and ping you back. Promise
@ekaitz_zarraga even if you had all education it would take time to understand some software product. I don't think that it matters that much.
I don't have education or whatever too, basically what made me to use guix is Emacs and GNU (and also desire to not wipe out my systemfiles everytime I change a distro). There is no centralised documentation in unix-like world and software in general, to understand guix you have to know guile, for knowing guile you have to know scheme and so on.
@ekaitz_zarraga for knowing scheme it would be good to understand functional programming, before functional programming it would be good understand programming in general. Such learning chais are infinite and docs have a problem, that they are often tied for some context, they require its reader to know something to understand them and it is hard to write it in a way that the guy with 0 knowledge would understand everything.
I'm using guix for 3+ years and I still don't know guile and scheme :(
@w96k of course but in other projects I can simply read a book about it and get the context i need, or at least most of it. Scheme is around academia that much that makes it have it's own jargon and makes it hard to reason for people that come from outside. I can code in scheme, but my scheme code is very different from the code that people really into scheme do, and that's a problem.
@emacsen@ArneBab@ekaitz_zarraga The CI tool at https://ci.guix.gnu.org (Cuirass) is set up to build everything for all the supported architectures, with the caveat that there are far fewer ARM build machines (say) than x86_64 build machines.
Okay this is amazing. I was just asking @ArneBab some of these exact questions today.
Here's a question...
The guix build servers- how do they know what architectures to build for? Do they build all packages on all architectures? Do they do some "on demand"? Is there a flag somewhere that's set?
@ekaitz_zarraga@w96k I have been using Guix in earnest for less than a year. Although my personal time is limited, I have no qualms about spending much of my personal time on Guix now because it tickles my intellectual curiosity. However, I sometimes wonder if I will end up with the same opinion as yours when I am no longer intellectually curious. But I believe my love for free software will stop that.
@taiju@w96k I love Guix and it keeps me intellectually engaged, the problem is sometimes I don't have the time to work around it, and my job depends on that. I love working on guix too, but sometimes it's hard to see that in any other distro the problem you have would just disappear, and you are spending one week on solving something because you don't know enough about your platform (and you need to).
@ekaitz_zarraga I think, I'm at best at a point where I understand each word on its own but not how they play together. Lisp / Guix uses prefix notation, doesn't it? @cwebber@civodul