💾 Archived View for dctrud.randomroad.net › gemlog › 20191230-guix-openbsd.gmi captured on 2020-09-24 at 00:42:38. Gemini links have been rewritten to link to archived content
View Raw
More Information
-=-=-=-=-=-=-
One of my new year's tech resolutions is to stop distro-hopping, and to try to stay on the same OS(es) for the whole of 2020. I've jumped around a lot in my spare time in 2019 using (in no particular order) Fedora, Debian, Ubuntu Mate, Void, Guix, OpenBSD, FreeBSD. It's fun to do this for a while, but I would like to spend less time trying things for the sake of it, and more time contributing to projects, or just away from the computer altogether.
Since I spend my work day on a Linux container project I will still be using a bunch of the common distros for work - to make sure the product works where it needs to. For personal stuff in my spare time, though, I've decided to stick to
GNU Guix
and
OpenBSD
for the year. I'm going to donate to the respective foundations shortly, and will do so again if I make it to 6 months :-)
Why Guix?
Guix is a GNU/Linux distribution with declarative configuration in Guile Scheme. It allows reproducible builds of systems and different software profiles, that can be switched in-and-out easily, rolled back, etc. It's pretty much a GNU & Scheme version of NixOS. I first came across Guix in 2018 when I was working in the HPC and Bioinformatics areas where there is a lot of software to manage in order to establish reproducible workflows. I have a long-standing interest in reproducible scientific computing and, though I don't work in academic HPC any more, Guix seems like the most exciting GNU software project by a long shot.
I'm using Guix because:
- It's very different from standard distributions I use all day for
- work. I like my computing for fun to be quite different from what I
- do to earn money :-)
- I still have an interest in reproducible builds and workflows, from
- my background in academia.
- I've often thought about learning some more LISP or similar - and
- this is a good a reason to do that as any.
- The mailing lists and IRC are very active and friendly.
- It's a notably inclusive friendly project within GNU, that has a
- code of conduct, and issued the type of statement I could agree with
- r.e. the FSF / GNU leadership stuff this year.
Guix is definitely not for everyone….
- It's a strict free-software focused GNU project without proprietary
- firmware or drivers to support modern GPUs, WiFi chipsets etc. There
- is a nonguix repo to provide some of this, but it's not discussed in
- the main channels.
- You have to write Guile Scheme to do much at all.
- It's a small project with few contributors, but >10,000 packages -
- so they aren't going to work or be up to date all the time.
Why OpenBSD?
Guix is fun to play with on the desktop and laptop, but I also have a machine that I run self-hosted things like Nextcloud, Gitea, etc. on and value something a bit more stable. I've decided to stick with OpenBSD for this during 2020. I first had a look at OpenBSD in 2019 as I'd not touched a BSD for some time, and it's something quite different from the complexity of modern mainstream Linux distributions. Again, I enjoy using things for fun that are different from what I do for work.
I'm using OpenBSD because:
- It's relatively simple… not for a computing novice, but from the
- point of view of being able to understand how it is produced and
- fits together. I'd like to learn a bit more about the systems level,
- and this seems a good place to do that.
- It was the easiest BSD install I tried for the types of things I
- want to use it for.
- It's relatively easy to follow the development lists to see how it's
- produced, and pickup some insight into the system.
OpenBSD is definitely not for everyone….
- It has pretty limited hardware support compared to Linux or, in some
- areas, FreeBSD. What's there seems to work well though. It was
- flawless including WiFi and suspend/resume on my ThinkPad T430 when
- I tried it first.
- It doesn't have great performance. Particularly, file I/O is slower
- for me than on the same machine running Linux, and on multi-core
- systems there is still a giant lock involved which limits
- concurrency.
- It has a reputation for having an unwelcoming community. I've been
- reading mailing lists / IRC for a few months now, and so far it
- seems friendlier than many Linux places. But, that assumes you do
- read documentation before asking things, and don't approach it as if
- the developers owe you a fix or feature. That should be the case in
- dealings with all FOSS projects - OpenBSD is just much more forward
- in pointing it out.