It’s nearly midnight, I’m supposed to be going to sleep but downstairs my Surface Pro 7+ is busy compiling a Linux kernel while installing NixOS. Getting that far required a lot of fussing about and a desk fan. And it’s great fun. I’ve not had this much entertainment from my computers since they looked like this…
This was my bedroom at home sometime in the very early 2000s. My PC’s running Linux, I’d probably sat up all night trying to reinstall it after breaking it. I learned so much about computing by doing this – when your only computer that contains instructions on how to set things up stops working, you get really really good at figuring out how to solve problems.
And it’s hard to get that today. You see due to an accident with a screwdriver when swapping the SSD in my main PC, I’m currently doing all my computering from a Chromebook and an Android tablet. It’s alright, but yeah I can’t exactly edit video or do anything too complex. I also have a Surface Pro 7+ that (used to) run Linux Mint. I picked that because some instructions I read online told me to use that to put Linux on my Surface.
Why do I want Linux on my Surface? Why not. Modern computers are boring objects, just like modern phones. While I don’t miss fixing IRQ conflicts on my 486 or putting up with broken web browsers in 1998 era Linux, I do miss being actively engaged in the maintenance and upkeep of my computer. Now they just sort of do it all themselves and things work in a predictable and boring way. Just like Windows.
I’ve kind of fallen out with Windows. It works, it’s fine. Except some very specific irritating things and Microsoft’s insistence on shovelling unwanted features into the OS that I can’t turn off.
Since my PC died, I figured it’d be a good opportunity to switch to Linux and see if it’s improved since I last used it. I mean, my Chromebook works perfectly well, so does my SteamDeck it’s not like it was. And to get a working computer I was just going to install Kubuntu and be done with it.
But then while idly browsing YouTube I came across the whole Linux YouTube channel subculture. Videos full of faceless voices narrating over the top of neon coloured desktops, giant anti-aliased fonts, explaining how to do a thing with Linux that makes something better or happen or whatever. And it’s not server based Linux, it’s desktop Linux. Using something called NixOS, which appears to somehow be a distro exactly like what I want to use.
Somewhere in the back of my brain my 14 year old self took notice and said “why can’t we do that again? It was fun…” And so here we are with a Surface Pro installing NixOS.
It wasn’t very straight forward. After the usual farce trying to get an ISO image onto a USB stick in a way that’ll make it boot, and convincing my Surface that it really did want to boot Linux off USB I stepped through the installer… And broke it. Twice. The first time because the existing Linux install was confusing it, and it didn’t know what to do. The second time because after writing zeroes over the partition table, the installer didn’t want to make a swap partition.
Never mind, there’s a console based installation routine documented on the website. And it’s wonderful. It’s exactly what I’ve been looking for in an installer ever since Slackware and Gentoo were my favourite distros. You know you’re on to a good system when manually partitioning the disks is step 1, and step 2 is editing a config file that defines your whole system.
Now, it’s not all as straight forward as blindly copying some instructions off the web and watching text scroll up the screen. This is a Surface Pro, it’s special. It’s designed by Microsoft to run Windows. So when Windows is running on this thing it does some fundamentally important things with the hardware.
You know, like turning on the cooling fans when it gets too hot. The live NixOS environment doesn’t have the required magic kernel drivers running, so it doesn’t do that. And compiling the kernel really really stresses the system.
Turns out one of the side effects of a Surface getting hot is the screen goes a bit mad. Also the back of it becomes too hot to touch. A carefully placed floor fan has worked wonders though.
I’m off to bed. Supposedly my new computer bits come tomorrow, so if my Surface hasn’t melted I’ll get to try one of the fun features of NixOS – you can move the config from one machine to another and recreate your system with no effort.