My dada (grandpa on my dad's side) is a fiend for spider solitaire. Indeed, that's all his laptop really does these days. The shot battery struggles to hold a charge, but that's of no consequence to Microsoft™®© Solitaire Collection™©®™™©, going strong on perhaps the last Compaq running Windows 7 in India. Alas, the laptop is a two thousand dollar flight away, so I unfortunately do not have any pictures of it. This reproduction will have to suffice.

I have fond memories of this laptop, including breaking it (software-wise) many times in an attempt to make PowerPoint movies and stick-figure animations when I was eight, but that's neither here nor there (actually it's there, in India).
My dada had come to the United States, and he was solitaireless. Would I be up to the task to keep him from boredom, or will he have to succumb to WhatsApp Reels™ to stave off boredom? I would find out this Thanksgiving.
When first asked to set up a solitaire laptop, I thought of digging my old Dell laptop out of whatever box it was hiding in (it already was running Windows (LTSC, don't worry)) and call it a day, but four-and-a-half minutes of lazy searching did not have it turn up so I moved on to plan B: repurpose the laptop I used for my Google Drive boot project. It was a perfect plan, for a perfectly good laptop and a perfect setup to waste time and not prepare for my upcoming exams.
And a perfect way to do more NixOS. You thought you were safe, didn't you?
I took the flash drive still plugged into the laptop, deleted the Google Drive shenanigans, and copy pasted1 wrote a custom NixOS ISO flake to boot Gnome with Aisleriot installed.
This worked perfectly! For me. Unfortunately, I underestimated Gnome's rough edges, especially for someone who can't hold a mouse steadily. My five-minute "User Experience Demo" showed that the hot-corner in the top-left kept on being hit when a game was meant to be changed from Klondike to Spider, and when the application was inevitably closed (carried-over muscle-memory), it was hard to open it back up. Hot corners are stressful to do intentionally, and "press the Windows key, no not that one, yeah, then type in Aisleriot, oh it's spelled A-I-S-L-E-, yeah, then press that, ok good" is a bad experience. I didn't even remember how to spell it until I sat down and started writing2 this3.
I needed a new approach, one Gnome-less. I considered alternative desktop environments, like KDE or XFCE, but swiftly threw them from my mind into the Void, for I had remembered something better4.
Cage
Cage is a Wayland kiosk. It'll launch one app fullscreened, and nothing else. It was perfect. One tweak to relaunch the kiosk if the "x" was pressed and I was good to go!
{
description = "Dada Solitaire";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs =
{ self, nixpkgs }:
{
packages.x86_64-linux.default = self.nixosConfigurations.dadaiso.config.system.build.isoImage;
nixosConfigurations = {
dadaiso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(
{
pkgs,
modulesPath,
lib,
...
}:
{
imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-base.nix") ];
boot.plymouth.enable = true;
boot.loader.timeout = lib.mkForce 1;
powerManagement.enable = true;
services.logind.settings.Login = {
HandlePowerKey = "ignore";
};
boot.kernelParams = [ "copytoram" ];
isoImage.edition = "aisleriot";
services.cage = {
enable = true;
user = "nixos";
program = "${pkgs.aisleriot}/bin/sol --variation spider";
};
systemd.services."cage-tty1".serviceConfig.Restart = "always";
}
)
];
};
};
};
}Hopefully this should be a seamless experience. If the battery goes flat, the laptop should automagically boot from USB. If the USB is pulled out while the system is running, nothing should happen since the entire system was copied to RAM.
Perhaps the only downside is that the USB drive I'm using is the free one from the Walgreens photo center, so booting takes a solid three and a half minutes.
I'm sure it's fine. It's certainly faster than the Compaq.
Hey! Another blog post finished in an airplane. Fascinating what free 128kbps internet does to me. It's been a month and a half since I set up that laptop, and he has not had a single problem with it yet. Another NixOS W.
As for the flight, I'm flying to the Bay Area, where I'm starting a new job at KLA working in HPC. Exciting stuff! I graduated from Purdue and all. I'm excited to start my next part of my life. Maybe I may post more often than once a year :)
As part of my corporate shift, instead of following me on the Fediverse or Bluesky, consider connecting with me on LinkedIn instead.