summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--posts/2022-12-05-guix-thinkpad-x1-10th-gen.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md b/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md
new file mode 100644
index 0000000..c73efbe
--- /dev/null
+++ b/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md
@@ -0,0 +1,81 @@
+title: Setting up Guix on a 10th gen Thinkpad X1
+date: 2022-12-05 12:00:00
+tags: guix, thinkpad
+summary: A document of my experience setting up Guix on a new Thinkpad X1
+---
+
+The last time I bought a laptop, I got a [used Thinkpad X220 from
+eBay](/liberating-a-thinkpad-x220.html). I loved that laptop, but
+time marches on and old hardware eventually becomes too slow for
+modern development needs. After a lot of indecision, I bought a 10th
+generation Thinkpad X1 with an Intel Core i7-1280P CPU, 32GB RAM, and
+1TB NVMe SSD. While they don’t make Thinkpads like they used to, I’m
+still really happy with it and glad I chose it. Despite the keyboard
+changes, the TrackPoint™ is still there and I don’t think I could feel
+good using a laptop without it. Below I will explain all the steps I
+took to get the Guix distribution setup nicely on it.
+
+## But first, a tangent about proprietary firmware
+
+I'm going to talk about proprietary firmware now. If you don't care,
+which is totally understandable, skip to the next section.
+
+I wanted to use Guix, which uses
+[Linux-libre](https://www.fsfla.org/ikiwiki/selibre/linux-libre/), on
+whatever laptop I got, but I knew the situation with regards to
+proprietary firmware blobs on laptops has only gotten worse in recent
+years. Unfortunately, despite there being more free/open drivers than
+ever (such as for AMD GPUs), those free drivers are often accompanied
+by proprietary firmware. After an exhaustive search of the laptops
+that can run without any proprietary software blobs (such as the
+Librem 14), I wasn't really feeling good about buying any of them.
+Newer generations of the Intel Core line of CPUs with new integrated
+Xe graphics hardware now require proprietary firmware. Intel wireless
+cards have required proprietary firmware for a long time. Even Intel
+sound hardware requires proprietary firmware! Then, there's the
+longstanding CPU microcode update issue. Linux-libre removes
+microcode updates, which are all proprietary, so users of Linux-libre
+do not receive critical security fixes to CPU-level vulnerabilities.
+Of laptops that were Linux-libre compatible, the Librem 14 seemed the
+best. It uses older Intel 10th gen Core CPUs, the last generation that
+can be used with Linux-libre and still have hardware accelerated
+graphics.
+
+While I would certainly like a world where all devices were run with
+free/open firmware, I've come to find this "no proprietary firmware"
+stance of the GNU Free Distribution Guidelines to be a hindrance to
+the spread and adoption of free software. The FSF's (really, RMS's)
+stance on the firmware issue isn't exactly based on a solid foundation
+anyway. Firmware on nearly every device is proprietary, but most
+devices have the firmware “baked in” and do not need it loaded at
+system boot time. So, from the FSF's perspective, we can make an
+abstraction: A device may or may not have proprietary firmware on it,
+but if we never have to load firmware then we can treat it as if it
+were hardware. It's only once the kernel gets involved that
+proprietary firmware becomes an issue, because the hardware maker now
+has the opportunity to provide malicious firmware updates. Okay, I
+get the abstraction and the potential risk, but it feels like a cop
+out. The lack of CPU microcode updates on fully free systems is the
+most damning evidence that this stance is a net-negative that I’m
+aware of. All of those users (myself included, on many past
+computers) are vulnerable to well-known issues that are patched in
+microcode updates! I'm a big free software guy, but we don't have our
+priorities straight here. Lack of firmware is *the biggest* blocker
+for people who *want* to use as much free software as possible. They
+often attempt to install a fully free distro only to find out that
+they can’t connect to the Internet because their wireless card
+requires a blob and our answer is “buy new hardware.” I think we need
+to make a tactical retreat from the firmware battle and meet people
+where they are at.
+
+Anyway, I decided to abandon Linux-libre. While Guix itself does not
+provide vanilla Linux (with firmware blobs), Guix allows for adding
+unofficial package repositories called “channels.” One such
+repository is [nonguix](https://gitlab.com/nonguix/nonguix) which does
+have Linux and a bunch of other stuff, like Firefox. It’s very nice
+and I recommend it! Thanks to the good folks who maintain it! Guix
+should drop the FSDG requirements! RMS will be mad but that’s okay!
+
+## Initial barebones installation
+
+## Full installation