This implements a crude mechanism for signalling my router to add the
packets to its own qdisc.
The way in which this is implemented with nftables is hacky because of
NixOS’ limitations on build-time checking (which obviously can’t know
about the existence of cgroups on the target).
Things are not very smooth yet. Hwmon only works with Kernel 6.2 and
only supports energy monitoring (and even that doesn’t look too good).
Fan control and temperature is not supported. To get at least usage
statistics, intel_gpu_top can be used. Mangohud in its newest unreleased
version also supports getting stats from it. However, intel_gpu_top
needs cap_perfmon, which is a pain to get working inside the double
bubblewrap sandbox for steam, therefore it is not yet available.
On the positive side, OpenCL works well and oneAPI also works with
blender-bin from nix-warez (nixpkgs doesn’t yet have blender with oneAPI
support).
I renewed the thermal paste on its GPU and replaced the stock fan with
two Noctua NF-A9 PWM that are controlled via the mainboard’s fan headers
(connected via a Y splitter), so corectrl is no longer necessary.