These are notes to the stream: https://youtu.be/S9V-pcTrdL8
- We are not aware of a lot of GNU software available to us.
- Seems that Guix more hacker-friendly/explorable.
Description | Nix | Guix | Comment |
---|---|---|---|
Established | 2003 | 2013 | |
Poprietary Software | Yes | No | |
Other OSe | MacOS, GNU/Linux | GNU/Linux, Hurd | |
Packages | nixpkgs (53000) | guix (15000+) | https://repology.org/ |
Nix vs Guile | Nix | GNU Guile | |
Documentation | Docbook | GNU Texinfo | |
Branching model | Combined | Rolling-release | |
Service manager | systemd | GNU Shepherd | |
Build scripts | Bash | G-exps | |
Version lock | Flakes | Channels | |
Consistency | Medium | High | |
cli implementation | c++ | guile | |
Bootstrapping | ? | Yes | GNU Mes |
Module System | Yes | No | |
Implicity | Frequent | OKeish |
Guile is full-fledged scheme with good tooling.
Nix has much more packaged.Guix has only free software in main repo, definitions looks more consistent and less hacky.
Guix has centralaized and well-organized documentation in html/pdf/info format. Moreover info format has links to related topics like guile, different gnu utilities and so on.For example info:guix#Build Systems refers to info:guile#Optional Arguments.
NixOS has a release twice an year. Guix doesn’t have stable branch, all fixes goes straight to master. Is it bad or good is debatable, because it’s possible to freeze versions of specific packages or even whole development environments. That’s mean that we can keep as less system packages as possible to reduce attack surface and possible breakage on pulling updates from master, everything else will be managed per-user or per-project inside profiles.- You can’t use few channels with different version of guix in one profile
- Inconsistent nix cli
- Tooling kinda lacking for nix language
- Glued together different parts not so well integrated
@iwinux the problem with macos is that glibc doesn't exist for macos. To build it (or a drop-in replacement) would require the use of the proprietary Xcode toolchain, which we as the Guix project cannot use to transparently build glibc for macos.
Nix people just accept that they put their system on top of proprietary foundations with an arbitrary cut-off for the binary base. Guix goes the opposite way on GNU+Linux aiming to dramatically reduce the "binary seed" with Mes. To use Guix on top of macos would require a huge binary blob that can only be built with proprietary tools.
Given these circumstances it would not be much uglier to run Guix in a virtual GNU+Linux system on top of macos.