News for hackers. Stuff that matters.
Re:GNU Guix 1.2.0 by LockAndLol on Monday November 23, 2020 @04:42PM (#25192287)
Nix and Guix have too steep of a learning curve. Maybe someday I'll be willing to invest the time to understand what's going on, but the CLI and docs just aren't good enough to go from "I know nothing" to "ah, I can install the latest <firefox,inkscape,chromium,etc.>". It really isn't clear to me how to switch a running system's package manager to either or even if either is fit to be the system's main package manager.

I watched a video of a seasoned linux user trying to install nix and abandoning the procedure because of the lack of docs. I even downloaded a virtualbox image of NixOS and tried to update everything to the latest version: 30 minutes later only firefox was installed but it wasn't in PATH thus couldn't be executed. Never found out how to install the KDE desktop.

Guix was another beast that I tried installing as a non-root user (insisted on using `curl | bash`, which I loathe). It was never up to date and I couldn't find the package I wanted to install (so fancy new chromium wrapper.. next-browser or something).

Maybe now things are better, but back then (1-2 years ago), neither were anywhere close to modern GUI distros. Until they make it easy to use, it's going to stay niche.

Re:GNU Guix 1.2.0 by mbakke on Monday November 23, 2020 @05:21PM (#25192644)
Guix has never insisted on 'curl | bash'. At first there were no instructions on how to use the shell installer script (perhaps you translated to 'curl | bash'?), but now the manual explicitly recommends to wget and chmod it:

https://guix.gnu.org/manual/devel/en/guix.html#Binary-Instal...

I think you'll find that things are much more up to date nowadays. You still need root access for the guix-daemon though.

Re:GNU Guix 1.2.0 by soraminazuki on Monday November 23, 2020 @08:42PM (#25194308)
I found the documentation to be plentiful compared to other projects, though it's not as comprehensive as the Arch Wiki. The docs definitely mention how to install KDE [1] and firefox [2].

To learn more about Nix, I'd recommend grepping the nixpkgs [3] repository once you grasp the basics of the Nix language (Nix Pills [4] would be a good start for that). Since everything in the Nix official repository belongs in nixpkgs, it's easy to search for the information I want. I just wish CentOS and Debian had a way of searching across the entire codebase this easily when I couldn't figure out something from the docs.

[1]: https://nixos.org/manual/nixos/stable/#sec-x11 [2]: https://nixos.org/manual/nix/stable/#idm140737322634320 [3]: https://github.com/NixOS/nixpkgs [4]: https://nixos.org/guides/nix-pills/

Re:GNU Guix 1.2.0 by drybjed on Tuesday November 24, 2020 @04:07AM (#25196654)
> I just wish CentOS and Debian had a way of searching across the entire codebase this easily when I couldn't figure out something from the docs.

You can use https://sources.debian.org/ website to search in the Debian packages and their source code.

Re:GNU Guix 1.2.0 by soraminazuki on Tuesday November 24, 2020 @05:31AM (#25197176)
Thanks for the tip. I was only aware of https://salsa.debian.org/debian
Re:GNU Guix 1.2.0 by siraben on Monday November 23, 2020 @11:37PM (#25195310)
I found reading code from Nixpkgs to be very valuable as well, and can't recommend it enough. I managed to get by using NixOS without writing my own derivations for several months until I inevitably ran into a need to package something new. Even then, Nix Pills isn't a super useful reference, it's sort of like learning Git by understanding blobs, too focused on details.

Another pain point is looking for documentation of Nix library functions, I've solved this by using Manix[0]

[0] https://github.com/mlvzk/manix

Re:GNU Guix 1.2.0 by alephu5 on Tuesday November 24, 2020 @02:42AM (#25196213)
I find nix pills hard to digest since they use the repl, and for a newbie it's hard to see how they apply to real-world packing of something like a python application.

This video helped me a lot though, but unfortunately there are a few minutes of broken audio in the middle https://youtu.be/2mG0zM_wtYs

Re:GNU Guix 1.2.0 by lakecresva on Tuesday November 24, 2020 @01:16AM (#25195832)
I filed a PR in the nix pills repo like eight months ago that never got touched; they're effectively abandoned and contain hard errors. One more snare trap in the mine field that is nix documentation.

To anyone that wanders by this, if you value your time at all, don't bother with nix unless you have someone you can corner and directly get answers from.

Re:GNU Guix 1.2.0 by soraminazuki on Tuesday November 24, 2020 @02:26AM (#25196148)
> they're effectively abandoned and contain hard errors

Provably false. The last commit was Oct 9, not "eight months ago," and numerous PRs were merged since then:

https://github.com/NixOS/nix-pills/commits/master

https://github.com/NixOS/nix-pills/pulls?q=is%3Apr+is%3Aclos...

> don't bother with nix unless you have someone you can corner and directly get answers from.

Just because your single PR slipped through the maintainers attention? Wow, you must have to avoid a lot of high profile open source projects.

Furthermore, the official page very clearly states how you could reach the community for help, although I highly recommend you to lower your tone before doing so:

https://nixos.org/community.html

Re:GNU Guix 1.2.0 by IngoBlechschmid on Monday November 23, 2020 @06:27PM (#25193176)
I realize that you just cited two particular issues as examples for a deeper problem. But still: The command `nix-shell -p firefox` spawns a subshell in which Firefox is in the PATH. (In case Firefox has not been downloaded before, it will by this command.) Others shells are unaffected by this command, and in fact, it is possible to have different versions of Firefox available in other subshells. This feature might be especially useful to web developers interested in gauging compatibility of their sites with different versions of browsers.

To enable KDE, you put this into your configuration.nix:

    services.xserver.desktopManager.plasma5.enable = true;
Perhaps you are also interested in the following cheatsheet: https://nixos.wiki/wiki/Cheatsheet

I've been using NixOS since 2017 and don't ever want to look back. I agree that NixOS is not anywhere close to modern GUI distros, but do like the documentation, and the friendliness and speed of the community.

Re:GNU Guix 1.2.0 by rekado on Tuesday November 24, 2020 @03:34AM (#25196482)
I found the Guix documentation to be excellent albeit somewhat lacking in examples.

The manual also includes a Getting Started section, so you don't need to read all 500+ pages to figure out how to use it.