Booted 20.03 amd64 from USB mass storage without difficulty. Did some tests in the live environment.
- Configuring a WiFi PSK in the live environment succeeds, but produces spurious kwallet-related errors.
Tried nix-env -i gcc
, quickly realized the mistake. Installed an out of tree kernel module. Found and followed instructions for full disk encryption from the wiki.
- The wiki as a whole is not very discoverable from the official website.
Had some difficulty setting the partition type of the ESP; details not remembered. Decided to install the system first without touching configuration.nix, then configure from the running system.
- Despite the installer having run from wifi, the installed system lacked wpa_supplicant or any iw* tools, and had no way to install them.
Was eventually able to connect an Ethernet interface. Set networking.wireless.enable = true
as encouraged.
- This resulted in an error about not being able to find wpa_supplicant.conf at rebuild time. The error did not indicate that
userControlled
was an option.
Had a hard time finding a number of debugging and testing tools, e.g. lsusb, perf.
-
Is there a way to search for packages by the name of the executables they build?
-
Is there a way to map between names used by nix-env (perf-linux-5.4.59) and nix run (nixpkgs.linuxPackages_5_4.perf)?
-
nix repl
is somewhat useful for that, but accidentally printingimport <nixpkgs> {}
is unpleasant. -
I like that nix-shell gives you a different shell prompt so you know when you're in a modified environment and can avoid accidentally exiting your top shell. It would be nice if nix run did the same thing.
Created a user account. Enabled KDE. Audio does not work but this seems to be a motherboard problem. Installed and confiugured Bluetooth.
- Most desktop-related services had to be manually
systemctl start
ed.
Set up a test workload using a working directory in /tmp to avoid SSD wear. Discovered when looking at disk space that /tmp was not actually a mount point.
- /tmp state is potentially surprising relative to other systemd distros and could stand more documentation.
Set boot.tmpOnTmpfs = true
, was pretty easy to find once the problem was identified.
nixos-rebuild switch
immediately mounts a tmpfs on top of /tmp; desktop environments do not take kindly to having all tmpfiles vanish. This is one thing that probably should require a reboot.
Tested kvm on the new machine using guestfish as a configuration-light tool that spins VMs internally.
- libguestfs packaging is confusing. It is surprising to get a guestfish which cannot be used due to lacking the appliance. It is surprising that libguestfs-with-appliance is not able to use any of the binary artifacts of libguestfs and must be built from scratch.
Did some cross compilation tests. Vaguely remembered there was a way to automatically set up qemu-user. Did so.
- Setting
boot.binfmt.emulatedSystems
required a systemctl poke to take effect. (Why is it in boot? It doesn't require a reboot.)