GPD MicroPC: Installing NixOS
Jun 4, 2020Steps taken to install NixOS after partitioning and reinstalling Windows on the GPD MicroPC.
Note: Paritioning was performed before reinstalling Windows in order to ensure a large EFI partition was created, as this will be used by both Windows and NixOS.
Booting
The graphical NixOS installer will boot successfully without setting nomodeline
. Guides I found elsewhere on booting Linux required this setting, but it actually prevented X from starting for me; CLI works either way.
Install
The display will be rotated 90 degrees when booted. Deal with this for a few minutes and then make your life easier by updating KDE’s display settings to correct for this rotation.
Follow the normal NixOS install process, but note the specific configurations called out below. I use ZFS on LUKS, but there’s nothing unique to the MicroPC. If you’re dual booting with Windows as in my previous post, remember that /boot
will be same as the EFI partition used by Windows.
For reference, my MicroPC’s configuration is available on Github.
Getting the keyboard to work at boot
After installing I found that I was unable to enter my LUKS passphrase without attaching a USB keyboard. After entering the passphrase via an external keyboard, everything worked fine.
In order to make the keyboard available during Stage 1 boot, where the LUKS passphrase is entered, the battery
kernel module must be available. Add it by appending "battery"
to boot.initrd.availableKernelModules
in the nix configuration. This makes no sense to me, but when trying to find a solution I found the battery module requirement noted in Josh Skidmore’s GPD MicroPC Arch Guide.
Rotating the display
Add the following to your configuration in order to avoid having your display rotated by 90 degrees when logging on.
services.xserver.monitorSection = ''
Option "Rotate" "right"
'';
Power management
Enable thermald and TLP.
services.thermald.enable = true;
services.tlp.enable = true;