Skip to content

Instantly share code, notes, and snippets.

@AcouBass
Last active December 28, 2025 04:43
Show Gist options
  • Select an option

  • Save AcouBass/12b148d98b21347ba562aa3a2df074f3 to your computer and use it in GitHub Desktop.

Select an option

Save AcouBass/12b148d98b21347ba562aa3a2df074f3 to your computer and use it in GitHub Desktop.
Nixos GPD Win Max 2 setup
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, inputs, ... }:
{
#chaotic.linux_hdr.specialisation. enable = true;
chaotic.mesa-git.enable = true;
chaotic.mesa-git.fallbackSpecialisation = true;
chaotic.appmenu-gtk3-module.enable = true;
chaotic.steam.extraCompatPackages = with pkgs; [ proton-ge-custom stable.gamescope ];
imports =
[ # Include the results of the hardware scan.
./pipewire.nix
./hardware-configuration.nix
#./acpioverride
#./custom-systemd-units
];
fonts = {
fontDir.enable = true;
packages = [ pkgs.corefonts ];
};
xdg.portal.enable = true;
zramSwap.enable = true;
systemd = {
user.extraConfig = "DefaultLimitNOFILE=524288";
tmpfiles.rules =
[ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
};
powerManagement = {
enable = true;
cpuFreqGovernor = pkgs.lib.mkDefault "powersave";
};
security = {
pam.loginLimits = [
{ domain = "*"; item = "nofile"; type = "-"; value = "524288"; }
{ domain = "*"; item = "memlock"; type = "-"; value = "524288"; }
];
pam = {
u2f = {
enable = true;
cue = true;
};
services.login.u2fAuth = true;
services.sudo.u2fAuth = true;
};
sudo.wheelNeedsPassword = false;
rtkit.enable = true;
};
nix = {
nixPath = [
"nixpkgs=/etc/channels/nixos"
"nixos-config=/home/eddie/gits/nixos/nixos-wm2/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
];
registry.nixpkgs.flake = inputs.nixpkgs;
daemonCPUSchedPolicy = "batch";
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
gc-keep-outputs = true
gc-keep-derivations = true
'';
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
optimise.automatic = true;
settings = {
allowed-users = [ "root" "@wheel" "@builders" ];
trusted-users = [ "root" "@wheel" "@builders" ];
auto-optimise-store = true;
substituters = [ "https://nix-gaming.cachix.org" "https://nyx.chaotic.cx/" ];
trusted-public-keys = [
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
];
};
};
networking = {
firewall = {
allowedTCPPorts = [ 2222 ];
allowedUDPPorts = [ 2222 ];
};
hostName = "NixWM2"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networkmanager.enable = true;
};
# Set your time zone.
# time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Enable the X11 windowing system.
services = {
handheld-daemon = {
enable = true;
user = "eddie";
package = pkgs.handheld-daemon.overridePythonAttrs rec {
src = pkgs.fetchFromGitHub {
owner = "hhd-dev";
repo = "hhd";
rev = "master";
hash = "sha256-XUnAgQWnBb8Xsu88UVpdVXbFPxG13TNJFX1xgY06HT8=";
};
#version = "b96a7f6e9075281de8a9aa76e9f22dd63f57fbfa";
};
};
automatic-timezoned.enable = true;
#ofono = {
# enable = true;
# plugins = [ pkgs.modem-manager-gui pkgs.libsForQt5.modemmanager-qt ];
# };
tailscale = {
enable = true;
useRoutingFeatures = "client";
};
udev.packages = [ pkgs.solo2-cli ];
#flatpak.enable = true;
fstrim.enable = true;
#auto-cpufreq.enable = true;
power-profiles-daemon.enable = false;
input-remapper.enable = true;
tor = {
enable = true;
client.enable = true;
};
openssh = {
enable = true;
startWhenNeeded = true;
settings = {
PermitRootLogin = "no";
};
};
syncthing = {
enable = true;
dataDir = "/home/eddie";
configDir = "/home/eddie/.config/syncthing";
openDefaultPorts = true;
user = "eddie";
};
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
#xserver = {
# enable = true;
# Enable the KDE Plasma Desktop Environment.
displayManager = {
sddm.enable = true;
sddm.wayland.enable = true;
defaultSession = "plasma";
};
desktopManager.plasma6.enable = true;
#xkb.layout = "us";
#xkb.variant = "";
#};
thermald.enable = true;
printing = {
enable = true;
drivers = [ pkgs.gutenprint pkgs.cnijfilter2 ];
};
};
# Configure console keymap
console.keyMap = "uk";
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
#lowLatency.enable = true;
# If you want to use JACK applications, uncomment this
jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users = {
defaultUserShell = pkgs.fish;
#mutableUsers = false;
groups.builders = {};
users.eddie = {
isNormalUser = true;
#shell = pkgs.fish;
description = "Eddie Baxter";
extraGroups = [
"adbusers"
"libvirtd"
"networkmanager"
"scanner"
"lp"
"wheel"
"i2c"
"video"
"audio"
"input"
];
};
};
# Allow unfree packages
virtualisation = {
waydroid.enable = true;
# spiceUSBRedirection.enable = true;
# libvirtd = {
# onBoot = "ignore";
# enable = true;
# };
};
nixpkgs = {
#overlays = [ acpi_patch { initrd = /home/eddie/gits/nixos/nixos-wm2/acpi_override; } ];
config = {
steam = pkgs.steam.override {
extraPkgs = pkgs: with pkgs; [
gamescope-wsi_git
gamescope_git
# stable.gamescope
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
];
};
allowUnfree = true;
# firefox.enablePlasmaBrowserIntegration = true;
permittedInsecurePackages = [ "python-2.7.18.6" ];
};
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment = {
systemPackages = with pkgs;
[
(lutris.override {
extraPkgs = pkgs: [
# stable.gamescope
wineWowPackages.staging
winetricks
wineWowPackages.waylandFull
gamescope_git gamescope-wsi_git
];
})
# unstables
heroic
#gamescope
steamtinkerlaunch
appimage-run
appimagekit
dxvk
sbctl
solo2-cli
#fido2luks
gamescope_git gamescope-wsi_git mangohud
legendary-gl
#virt-manager
acpica-tools
ryzenadj
git
libreoffice-qt
hunspell
hunspellDicts.en_GB-ize
hunspellDicts.en_GB-ise
unoconv
vopono
winetricks
playonlinux
#gimp-with-plugins
gimp
ffmpeg-full
vlc
wineWowPackages.stagingFull
## KDE stuff
krita
lxqt.pavucontrol-qt
# calibre
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
] ++ (with libsForQt5; [
drumstick
discover
kaccounts-integration
kaccounts-providers
kalendar
kmail
kmail-account-wizard
korganizer
kaddressbook
akregator
knotes
kontact
kate
kdenlive
krunner-ssh
krunner-symbols
(ark.override { unfreeEnableUnrar = true; })
]);
etc."channels/nixpkgs".source = inputs.nixpkgs.outPath;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs = {
#gamescope.package = pkgs.stable.gamescope;
gamescope = {
enable = true;
args = [ "--rt" "-H 1600" "-h 720" "-f" "-F fsr" ];
};
auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
#corectrl = {
# enable = true;
# gpuOverclock = {
# enable = true;
# ppfeaturemask = "0xffffffff";
# };
#};
# gamescope.package = pkgs.stable.gamescope;
gamemode.enable = true;
dconf.enable = true;
# firefox.enable = true;
xwayland.enable = true;
# droidcam.enable = true;
ccache.enable = true;
adb.enable = true;
fish.enable = true;
kdeconnect.enable = true;
steam = {
gamescopeSession = {
enable = true;
args = [ "--rt" "-H 1600" "-h 720" "-b" "-f" "-F fsr" ];
env = { ENABLE_GAMESCOPE_WSI = "1"; };
#steamArgs = [ "-pipewire-dmabuf" ];
};
enable = true;
remotePlay.openFirewall = true;
};
firejail = {
enable = true;
wrappedBinaries = {
#firefoxjail = {
#executable = "${pkgs.firefox}/bin/firefox";
#profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
#};
skypeforlinuxjail = {
executable = "${pkgs.skypeforlinux}/bin/skypeforlinux";
profile = "${pkgs.firejail}/etc/firejail/skypeforlinux.profile";
};
Discord = {
executable = "${pkgs.discord}/bin/discord";
profile = "${pkgs.firejail}/etc/firejail/Discord.profile";
};
#Chromium = {
#executable = "${pkgs.chromium}/bin/chromium";
#profile = "${pkgs.firejail}/etc/firejail/chromium.profile";
#};
};
};
# programs.mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
musnix = {
enable = true;
alsaSeq.enable = true;
soundcardPciId = "0b:00.4";
das_watchdog.enable = true;
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system = {
stateVersion = "config.system.nixos.release"; # Did you read the comment?
};
}
{
description = "NixOS configuration with two or more channels";
inputs = {
# nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nur.url = github:nix-community/NUR;
nix-gaming = {
url = "github:fufexan/nix-gaming";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
lanzaboote = {
url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
};
#nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
musnix = {
url = "github:musnix/musnix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
# cryolitia-nur = {
# url = "github:Cryolitia/nur-packages/master";
# #inputs.nixpkgs.follows = "nixpkgs";
# };
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
auto-cpufreq = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ { self, nix-gaming, nixpkgs, nixpkgs-stable, chaotic, lanzaboote, nur, musnix, home-manager, auto-cpufreq }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
permittedInsecurePackages = [ "openssl-1.1.1t" ];
allowUnfree = true;
};
overlays = [];
};
#unstable = nixpkgs-unstable.legacyPackages.${prev.system};
# use this variant if unfree packages are needed:
overlay-stable = final: prev: {
stable = import nixpkgs-stable {
inherit system;
config = {
permittedInsecurePackages = [ "openssl-1.1.1t" ];
allowUnfree = true;
};
};
};
in {
nixosConfigurations."NixWM2" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs self nix-gaming; };
modules = let
nur-modules = import nur {
nurpkgs = nixpkgs.legacyPackages.x86_64-linux;
pkgs = nixpkgs.legacyPackages.x86_64-linux;
};
in [
# ];
# modules = [
# nixos-hardware.nixosModules.gpd-win-max-2-2023
# chaotic.nixosModules.default
#cryolitia-nur.nixosModules.bmi260
#hardware.sensor.iio.bmi260.enable = true;
auto-cpufreq.nixosModules.default
musnix.nixosModules.musnix
lanzaboote.nixosModules.lanzaboote
# Overlays-module makes "pkgs.unstable" available in configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-stable nur.overlay ]; })
./configuration.nix
chaotic.nixosModules.default
inputs.nix-gaming.nixosModules.pipewireLowLatency
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.eddie = import ./home.nix;
}
];
};
};
}
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
systemd.targets.ac = {
conflicts = [ "battery.target" ];
description = "On AC power";
unitConfig = { DefaultDependencies = "false"; };
};
systemd.targets.battery = {
conflicts = [ "ac.target" ];
description = "On battery power";
unitConfig = { DefaultDependencies = "false"; };
};
systemd.services.power-maximum-tdp = {
description = "Change TDP to maximum TDP when on AC power";
wantedBy = [ "ac.target" ];
unitConfig = { RefuseManualStart = true; };
serviceConfig = {
Type = "oneshot";
ExecStart =
"${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit=28000 --fast-limit=28000 --slow-limit=28000 --tctl-temp=90";
};
};
systemd.services.power-saving-tdp = {
description = "Change TDP to power saving TDP when on battery power";
wantedBy = [ "battery.target" ];
unitConfig = { RefuseManualStart = true; };
serviceConfig = {
Type = "oneshot";
ExecStart =
"${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit=8000 --fast-limit=8000 --slow-limit=8000 --tctl-temp=90";
};
};
systemd.services.powertop = {
description = "Auto-tune Power Management with powertop";
unitConfig = { RefuseManualStart = true; };
wantedBy = [ "battery.target" "ac.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.powertop}/bin/powertop --auto-tune";
};
};
systemd.services."inhibit-suspension@" = {
description = "Inhibit suspension for one hour";
serviceConfig = {
Type = "oneshot";
ExecStart =
"${pkgs.systemd}/bin/systemd-inhibit --what=sleep --why=PreventSuspension --who=system /usr/bin/sleep %ih";
};
};
boot = {
#blacklistedKernelModules = [ "bmi160_core" "bmi160_i2c" "bmi160_spi" ];
blacklistedKernelModules = [ "bmi260" ];
bootspec.enable = true;
#kernelPackages = pkgs.linuxPackages_testing;
kernelPackages = pkgs.linuxPackages_cachyos;
kernelParams = [ "quiet" "splash" "iomem=relaxed" "amd_pstate=active" ];
plymouth = {
enable = true;
# themePackages = with pkgs; [ breeze-plymouth ];
# theme = "breeze";
};
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
systemd-boot = {
enable = lib.mkForce false;
#configurationLimit = 5;
};
};
initrd = {
#$prepend = [ "${/home/eddie/gits/nixos/nixos-wm2/acpioverride/acpioverride}" ];
secrets."/crypto_keyfile.bin" = null;
systemd.enable = true;
availableKernelModules =
[ "nvme" "xhci_pci" "thunderbolt" "usbhid" "usb_storage" "sd_mod" ];
kernelModules = [ "amdgpu" ];
luks = {
#fido2Support = true;
devices."luks-c42f2366-e265-4ffa-b500-93eddc5302af" = {
device ="/dev/disk/by-uuid/c42f2366-e265-4ffa-b500-93eddc5302af";
crypttabExtraOpts = [ "fido2-device=auto" ];
fido2.passwordLess = true;
fido2.gracePeriod = 30;
};
};
};
kernelModules = [ "kvm-amd" "i2c_dev" ];
extraModulePackages = [ ];
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/b60b0a30-5a65-4fbf-9288-db1d6f167277";
fsType = "ext4";
};
"/boot/efi" = {
device = "/dev/disk/by-uuid/A7D4-ED72";
fsType = "vfat";
};
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wwan0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware = {
i2c.enable = true;
sensor.iio = {
enable = true;
#bmi260.enable = true;
};
sane = {
enable = true;
extraBackends = [ pkgs.sane-airscan ];
};
graphics = {
#driSupport = true;
enable32Bit = true;
extraPackages = with pkgs; [
rocm-opencl-icd
vaapiVdpau
rocm-opencl-runtime
libvdpau-va-gl
];
#extraPackages32 = [ pkgs.driversi686Linux.amdvlk ];
};
enableAllFirmware = true;
bluetooth = { enable = true; };
cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
steam-hardware.enable = true;
};
}
{ config, pkgs, lib, ... }:
{
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [ "openssl-1.1.1u" ];
};
# Home Manager needs a bit of information about you and the
# paths it should manage.
home = {
enableNixpkgsReleaseCheck = true;
username = "eddie";
homeDirectory = "/home/eddie";
stateVersion = "24.11";
packages = with pkgs; [
mednafen
mednaffe
#retroarchFull
wget
discord
skypeforlinux
openrct2
#unstable.runescape
wireguard-tools
chromium
lutris
grc
prusa-slicer
cura
blender
openscad
freecad
## Audio stuff
kapitonov-plugins-pack
ladspaPlugins
distrho
swh_lv2
x42-plugins
mda_lv2
tunefish
infamousPlugins
talentedhack
kapitonov-plugins-pack
eq10q
zam-plugins
wineasio
giada
luppp
freewheeling
reaper
timemachine
easyeffects
musescore
lilypond
carla
calf
#unstables
yabridge
yabridgectl
ardour
tuxguitar
audacity
bespokesynth
surge-XT
surge
lsp-plugins
vocproc
sorcer
odin2
freepats
helm
fluidsynth
zynaddsubfx
yoshimi
infamousPlugins
qsynth
lmms
guitarix
];
# Let Home Manager install and manage itself.
};
#gtk = {
# enable = true;
# iconTheme = {
# name = "breeze-dark";
# package = pkgs.libsForQt5.breeze-icons;
# };
# theme = {
# name = "Breeze-Dark";
# package = pkgs.libsForQt5.breeze-gtk;
# };
#};
programs = {
command-not-found.enable = false;
nix-index = { enable = true; };
yt-dlp = { enable = true; };
htop = { enable = true; };
obs-studio = {
enable = true;
package = pkgs.obs-studio;
plugins = with pkgs.obs-studio-plugins; [
obs-vaapi
obs-vkcapture
obs-pipewire-audio-capture
obs-gstreamer
];
};
#rbw = {
# enable = true;
# settings = {
# base_url = "https://vault.piecemaker.rocks";
# email = "[email protected]";
# pinentry = "qt";
# };
#};
firefox = {
enable = true;
profiles = {
eddie = {
#search.default = "DuckDuckGo";
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
floccus
auto-tab-discard
bitwarden
consent-o-matic
darkreader
duckduckgo-privacy-essentials
facebook-container
firefox-translations
multi-account-containers
musescore-downloader
plasma-integration
privacy-badger
privacy-pass
profile-switcher
reddit-enhancement-suite
sponsorblock
streetpass-for-mastodon
temporary-containers
ublock-origin
fediact
];
};
};
};
fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
'';
plugins = [
# Enable a plugin (here grc for colorized command output) from nixpkgs
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
{
name = "done";
src = pkgs.fishPlugins.done.src;
}
{
name = "sponge";
src = pkgs.fishPlugins.sponge.src;
}
];
};
home-manager.enable = true;
};
xdg.systemDirs.data = [ "/usr/share" "/var/lib/flatpak/exports/share" "$HOME/.local/share/flatpak/exports/share" ];
#services = {
#easyeffects.enable = true;
# };
systemd.user = {
sessionVariables = {
CLUTTER_BACKEND = "wayland";
GDK_BACKEND = "wayland,x11";
QT_QPA_PLATFORM = "wayland;xcb";
MOZ_ENABLE_WAYLAND = "1";
_JAVA_AWT_WM_NONREPARENTING = "1";
STEAM_EXTRA_COMPAT_TOOL_PATHS = "/home/eddie/.local/share/Steam/compatibilitytools.d/SteamTinkerLaunch/";
};
};
}
{ config, lib, pkgs, modulesPath, ... }:
{
services.pipewire.extraConfig.pipewire."92-low-latency" = {
context.properties = {
default.clock.rate = 48000;
default.clock.quantum = 32;
default.clock.min-quantum = 32;
default.clock.max-quantum = 32;
};
};
services.pipewire.extraConfig.pipewire-pulse."92-low-latency" = {
context.modules = [
{
name = "libpipewire-module-protocol-pulse";
pulse.min.req = "32/48000";
pulse.default.req = "32/48000";
pulse.max.req = "32/48000";
pulse.min.quantum = "32/48000";
pulse.max.quantum = "32/48000";
}
];
stream.properties = {
node.latency = "32/48000";
resample.quality = 1;
};
};
}
@simonwjackson
Copy link
Copy Markdown

Any chance you could post your acpioverride.nix file?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment