Files
nix-config/hosts/artemis/hardware-configuration.nix
Jordan Holt ccba6d46f2
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m23s
hosts/artemis: bump kernel to 6.14
2025-07-26 16:46:48 +01:00

102 lines
2.4 KiB
Nix

{
config,
lib,
pkgs,
modulesPath,
...
}:
let
inherit (lib)
mkDefault
mkOverride
;
in
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
# Inspired by: https://github.com/Jovian-Experiments/Jovian-NixOS
boot = {
initrd = {
availableKernelModules = [
"xhci_pci"
"ehci_pci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
kernelModules = [
"amdgpu"
];
supportedFilesystems = [ "zfs" ];
};
kernel.sysctl = {
"kernel.sched_cfs_bandwidth_slice_u" = mkDefault 3000;
"kernel.sched_latency_ns" = mkDefault 3000000;
"kernel.sched_min_granularity_ns" = mkDefault 300000;
"kernel.sched_wakeup_granularity_ns" = mkDefault 500000;
"kernel.sched_migration_cost_ns" = mkDefault 50000;
"kernel.sched_nr_migrate" = mkDefault 128;
"kernel.split_lock_mitigate" = mkDefault 0;
"net.ipv4.tcp_mtu_probing" = true;
"net.ipv4.tcp_fin_timeout" = mkDefault 5;
"vm.max_map_count" = mkOverride 999 2147483642;
};
kernelModules = [
"hid_nintendo"
"hid_playstation"
"kvm-amd"
];
kernelParams = [
"log_buf_len=4M"
"amdgpu.lockup_timeout=5000,10000,10000,5000"
"ttm.pages_min=2097152"
"amdgpu.sched_hw_submission=4"
"audit=0"
];
kernelPackages = pkgs.linuxPackages_6_14;
supportedFilesystems = [ "ntfs" ];
};
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
MultiProfile = "multiple";
FastConnectable = true;
# enable experimental LL privacy, experimental offload codecs
KernelExperimental = "15c0a148-c273-11ea-b3de-0242ac130004";
};
LE = {
ScanIntervalSuspend = 2240;
ScanWindowSuspend = 224;
};
};
};
graphics = {
enable32Bit = true;
extraPackages = [ pkgs.gamescope-wsi ];
extraPackages32 = [ pkgs.pkgsi686Linux.gamescope-wsi ];
};
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
enableRedistributableFirmware = true;
};
powerManagement.cpuFreqGovernor = "schedutil";
services.pulseaudio.enable = false;
services.xserver.videoDrivers = [ "amdgpu" ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}