I don't remember having to do that on my "Steam Machine" which is a desktop running NixOS. This is most of my "VR" module:
environment.systemPackages = with pkgs; [
iw
];
nixpkgs.config.allow32Bit = true;
# Steam Frame dongle requires a region be set to work
boot.extraModprobeConfig = ''
options cfg80211 ieee80211_regdom=ES
'';
# SteamVR requires CAP_SYS_NICE, this patch allows it to have it
# WARNING: This allows any application to create high priority contexts
boot.kernelPatches = [
{
name = "amdgpu-ignore-ctx-privileges";
patch = pkgs.fetchpatch {
name = "cap_sys_nice_begone.patch";
url = "https://github.com/Frogging-Family/community-patches/raw/master/linux61-tkg/cap_sys_nice_begone.mypatch";
hash = "sha256-Y3a0+x2xvHsfLax/uwycdJf3xLxvVfkfDVqjkxNaYEo=";
};
}
];
# SteamVR environment variables
environment.sessionVariables = {
# Force XCB platform for SteamVR under Wayland (prevents Qt Wayland issues)
QT_QPA_PLATFORM = "xcb";
};
It's been working with my Frame perfectly.