Finally I found the gap at work to move my work laptop to ubuntu 22.04.
I installed nixpkgs in daemon mode. This creates a bunch of build users. I was looking for a way to hide the users in SDDM login screen. None of the options in the SDDM config file seemed to take effect. Starting the sddm greeter in test mode seemed to use the configuration correctly.
> sddm-greeter --test-mode
Reading the source did not help much either. Eventually I stumbled upon the solution that sddm configuration files need to be files and not symbolic links to files. I could not figure this out from the source but this restriction makes sense for a component that controls the login screen.
The other irritation was sddm starting with a on-screen keyboard by default. I had to configure the
InputMethod option to disable it.
[Users] HideShells=/sbin/nologin MaximumUid=20000 MinimumUid=1000 [X11] EnableHiDPI=true MinimumVT=7 [General] # Input method module InputMethod=
The change in configuration file location and format since 2021 led to a bit of head scratching. The config file location changed from
~/.config/home-manager/home.nix. I also had a mismatch between the nixpkgs channel and the home-manager channel.
nixpkgs channel was set to master and I had to use the corresponding home-manager channel. Once the channels matched, the package installation was smooth.
I am experimenting using Nix for installing fonts as well. This requires running
fc-cache with the installation path as argument.
> nix-env -iA nixpkgs.jetbrains-mono > fc-cache -v $HOME/.nix-profile/share/fonts/
dmesg not being accessible to normal user was surprise coming from 18.04. Apparently the change was introduced in ubuntu 20.10.
I had to set
kernel.dmesg_restrict = 0 in
/etc/sysctl.d/10-kernel-hardening.conf to allow non-root users access to dmesg.