nixos-framework-laptop-config/nixos/device.nix

63 lines
1.6 KiB
Nix

{
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_testing;
# 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;
};
}