email : ews@folksonomy.com
[ my public key: https://keybase.io/ews; my proof: https://keybase.io/ews/sigs/1Gt9LnPe2LFmFsRBpFvWsGKc-IhQkywOO9R-Nsinydk ]
- ews parent+2 , it's an amazing resource for emacs and guix
- mpv https://somafm.com/sf1033.pls on the cli will make that work
- SOMAFM's SF police radio with ambient music is surprisingly good for concentration, I have this on an alias in my box : mpv https://somafm.com/sf1033.pls
- I used to live in Glen Park at that time and I vividly remember seeing Ross working as a cashier at the Canyon Market, helping me bag my groceries. It was probably around the time he was starting the Silk Road. The place where he was arrested was also my favorite table at the Public Library, where I used to go work. It is incredible to be that close to history.
- you are right and thanks for adding on my ELI5. TBH I never used nixOS, only guix, which does not use a central key to sign packages, and uses signed commits (https://guix.gnu.org/manual/en/html_node/Commit-Access.html) , the project is sponsored by the FSF and it's the official distro for the GNU project, so they take security very seriously. (You can always install a random channel and throw all that out of the window if you want).
(quick edit) Guix packages are basically .scm (scheme) files on git, so the fedora/nix example does not apply either. Every file can be opened and inspected, most of them are basically a git clone + checking a hash. You can decide to use substitutes (binaries) or no, and substitutes are usually similar byte by byte across systems. As an example, this is the guix config for installing CRIU: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages...
Given said that, I am ready to spend some of my funemployment time installing and using nix as my daily driver for a few months, so I will have more info and first hand knowledge of all that.
- I am going to try to ELI5, but the concepts run very deep.
Both nixOS and Guix are different to 'regular' distros in the way that they are declarative: there is a file that describes the full OS: every user, every package, every system service, where the bootloader goes and so on. The main idea is that you can take that file, nuke your hard disk, reuse it and you'll have the same OS byte by byte. This concept of reproducibility is not only very comfortable, but has profound ramifications in security (you know no compiler or library has been tampered with malware) or science.
But it goes deeper: Since the OS is described by a single file you can roll back to a previous version if your file is hosted on git (both OS manage this transparently without the need of a VCS). Users can have their own 'local copy' of that file with their own programs, including their own libraries with different versions. You can have different files as 'profiles' (one for work, one for personal projects, one for gaming) you can activate at any time when you want to switch tasks, or you can try your friend configuration on a chroot or isolated environment on top of your own system.
The main difference between nixOS and Guix is that guix uses guile scheme as configuration language for that particular file. I have plenty of '(packages (if is-laptop acpi)...)' entry on my own files.
guix shell is just a way to create a temporary environment to try something quick without polluting my OS. For instance, if I want to do some hacking on python2 I would do 'guix shell python2' and it will open a shell for me with python2 without changing my python3 binary and python3 libraries on my main system.
BTW you don't even have to change your whole system, both nix and guix can be installed on top of 'regular' distros (google 'guix foreign distro', which is the way I manage my rasperry pis).
There is way more than all that, I definitely encourage everyone to give it a try, it's a mind bending new way to use a OS.
- I highly recommend just doing Doom emacs with evil as a daily driver (that's similar of what I did) and then going through the Emacs from Scratch series from Systems Crafters https://systemcrafters.net/emacs-from-scratch/