Skip to content

Instantly share code, notes, and snippets.

@sorear
Last active August 25, 2020 06:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sorear/9898d3b698eacc01f6b0a98f9d359965 to your computer and use it in GitHub Desktop.
Save sorear/9898d3b698eacc01f6b0a98f9d359965 to your computer and use it in GitHub Desktop.

Booted 20.03 amd64 from USB mass storage without difficulty. Did some tests in the live environment.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. Is there a way to search for packages by the name of the executables they build?

  2. 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)?

  3. nix repl is somewhat useful for that, but accidentally printing import <nixpkgs> {} is unpleasant.

  4. 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.

  1. 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.

  1. /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.

  1. 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.

  1. 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.

  1. Setting boot.binfmt.emulatedSystems required a systemctl poke to take effect. (Why is it in boot? It doesn't require a reboot.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment