I got it running now! The problem with the missing drives was the SCSI driver. I switched to SATA drivers and now everything is found.
>You took a running Debian and just ran `guix system init` on it? This is how I did it now: 1. Installed a minimal Ubuntu image offered by the hoster 2. installed guix binary 3. ran guix pull 4. ran `guix system init config.scm /` and rebooted 5. ran `rm -rf /etc/` from a rescue disk, because guix tries to symlink stuff there on boot and failed because old ubuntu files already existed.
@xj9 @thezacattacks Aesthetically, #guix wins every time. And in some practical terms too. On #nix I go out of my way to avoid interpreting the whole package tree, on guix it is compiled and I just address packages by name, not by exact property. Guix also has sophisticated ways to express system configuration and relationships between services, that I believe Nix lacks.
I have to admit though, #guix pull is super slow because it compiles the whole package tree. The upgrade to Guile 2.2 is awesome in terms of runtime performance, but it didn't exactly help compilation times.
Guix is also constantly evolving its packaging interface, which means you have to stay up-to-date on the upgrade treadmill. I praised it the other week[0] that they had improved this a bit, but the solution suggested didn't actually work -- I had to[1] go and get the 0.13.0 binaries to go forward.
In terms of Worse is Better, Guix is MIT, Nix is Berkeley. In the long term, Guix is more principled, but in the here and now, Nix gets things done.
[0] https://social.heldscal.la/notice/3435628 [1] Well, chose to, rather than try to track down exactly which revision I would have to pull to get ahead. Maybe it would have been so easy as to pull just the revision one later.
@roka @awg "multiple" is sort of an understatement. It feels like the only language that has more implementations is !forth . :-)
Many people like #racket, as it has an IDE that is very helpful to newcomers. #Chez is performant and complete. I quite like #guile as it's GNU, used for #guix and has some intriguing new async stuff I'd like to play with.
A decade ago when I did #SICP in uni, the course recommended Racket (then Dr Scheme) or MIT Scheme, but I used Guile because it had a very POSIX-y and familiar command line and I wrote my lab exercises with Makefiles running the tests.
Back then I also had a look at #gauche (also very script-y and POSIX-y) and #scheme48, which integrates well with SMILE in emacs. These days there's #geiser for guile, which is likely to be the best emacs+Scheme interactive mode out there.
Functional (as in functional programming language) package manager and, optionally, complete Linux distribution, offering cool features like atomic upgrade, rollback, per-user and per-session package installs, and package definitions written in Scheme (Guile).
Also #guix as an intra-package compiler cache, together with a work distribution framework.
Building the-product-2.54 would be farming out 27 sub-build jobs to your guix build cluster and then one job that links them together and creates the final package. Also the build of any dependencies would be farmed out in parallel to the cluster.
@nakal Have you tried using nixpkgs on the side? In my experience that gives you most of the advantages while avoiding most of the tinkering and mental adjustment. I'm using #nixpkgs and #guix both, on my Ubuntu.
@charlag @taknamay Also check out @cwebber , which is currently busy making a test suite for the next social network protocol -- and the test suite is written in !scheme. Not to mention being active with #guix and writing the http://gnu.org/s/8sync #guile async actor framework.
@louis As far as I'm concerned #stow was perfected 21 years ago. I don't care if people call it a symlink farm manager or a package manager, it manages my packages equally well either way.
Manually doing cp and mv is one way of managing your packages. A package manager automates it for you. When it comes to merging and unmerging coherent trees of files, #stow is the smallest thing that could possibly work. I refer to it lovingly every time I talk about #guix, so that we don't forget where we came from, and my home directory is a mix of #stow, #nix and #guix.
@louis @clackemovedtoheldscalla GNU #stow is the platonic ideal of system administration. #nix and #guix are its complex but oh so convenient bigger brothers.
I gave a talk on #guix. It was supposed to be "preferably 5 minutes -- 10 minutes is our hard limit". I managed to get it down to 13 minutes and still cover what I thought were the important issues for this crowd, and people had really good questions, so we went on for another 5. :-)