6 ms·
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'
by LockAndLol 6y ago
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.
- mbakke 6y agoGuix 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-Installation 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.
- IngoBlechschmid 6y agoI 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 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.
- soraminazuki 6y agoI 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 https://nixos.org/manual/nixos/stable/#sec-x11 [2]: https://nixos.org/manual/nix/stable/#idm140737322634320 https://nixos.org/manual/nix/stable/#idm140737322634320 [3]: https://github.com/NixOS/nixpkgs https://github.com/NixOS/nixpkgs [4]: https://nixos.org/guides/nix-pills/ https://nixos.org/guides/nix-pills/
- siraben 6y agoI 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 https://github.com/mlvzk/manix
- lakecresva 6y agoI 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.
- soraminazuki 6y ago> 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/commits/master https://github.com/NixOS/nix-pills/pulls?q=is%3Apr+is%3Aclosed 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 https://nixos.org/community.html
- rekado 6y agoI 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.