{ config, lib, pkgs, inputs, ... }: { imports = [ inputs.nixos-hardware.nixosModules.framework-16-7040-amd ]; # Set the Wireless Regulatory Domain # https://github.com/NixOS/nixpkgs/issues/25378 boot.extraModprobeConfig = '' options cfg80211 ieee80211_regdom="US" ''; services.fwupd.enable = true; hardware.bluetooth.enable = true; boot.kernelPackages = pkgs.linuxPackages_latest; # Not needed on NixOS 24.05+ # Disable pcr for linux kernel testing 6.9-rc4+ # Per https://community.frame.work/t/tracking-framework-16-linux-6-9-0-rc4-rc5-extreme-screen-flickering-anyone-else/49467/44 boot.kernelParams = let affectedVersions = ["6.9-rc4" "6.9-rc5" "6.9-rc6"]; version = config.boot.kernelPackages.kernel.version; affected = builtins.elem version affectedVersions; in lib.mkIf affected ["amdgpu.dcdebugmask=0x400"]; # TODO: EasyEffects apparently massively slows down shutdown, # so I'm disabling it until we can figure out why / fix it. environment.systemPackages = lib.mkMerge [ (with pkgs; [ fw-ectool framework-tool ]) # Show EasyEffects status in GNOME # (lib.mkIf config.services.xserver.desktopManager.gnome.enable [ # pkgs.gnomeExtensions.easyeffects-preset-selector # ]) ]; # The FWL benefits from modifying its speakers # home-manager.sharedModules = [ # { # services.easyeffects.enable = true; # } # ]; # EasyEffects needs this # programs.dconf.enable = true; # RGB LED Matrix services.hardware.openrgb = { enable = true; package = pkgs.openrgb-with-all-plugins; }; }