107 lines
2.5 KiB
Nix
107 lines
2.5 KiB
Nix
{ config, lib, pkgs, modulesPath, ... }:
|
|
{
|
|
imports = [
|
|
./config.nix
|
|
(modulesPath + "/installer/scan/not-detected.nix")
|
|
<stockholm/lass/2configs/antimicrox>
|
|
];
|
|
disko.devices = import ./disk.nix;
|
|
|
|
networking.hostId = "deadbeef";
|
|
# boot.loader.efi.canTouchEfiVariables = true;
|
|
boot.loader.grub = {
|
|
enable = true;
|
|
device = "/dev/nvme0n1";
|
|
efiSupport = true;
|
|
efiInstallAsRemovable = true;
|
|
};
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
boot.kernelParams = [
|
|
|
|
# use less power with pstate
|
|
"amd_pstate=passive"
|
|
|
|
|
|
# suspend
|
|
"resume_offset=178345675"
|
|
];
|
|
|
|
boot.kernelModules = [
|
|
# Enables the amd cpu scaling https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html
|
|
# On recent AMD CPUs this can be more energy efficient.
|
|
"amd-pstate"
|
|
"kvm-amd"
|
|
];
|
|
|
|
# hardware.cpu.amd.updateMicrocode = true;
|
|
|
|
services.xserver.videoDrivers = [
|
|
"amdgpu"
|
|
];
|
|
|
|
boot.initrd.availableKernelModules = [
|
|
"nvme"
|
|
"thunderbolt"
|
|
"xhci_pci"
|
|
"usbhid"
|
|
];
|
|
|
|
boot.initrd.kernelModules = [
|
|
"amdgpu"
|
|
];
|
|
|
|
environment.systemPackages = [
|
|
pkgs.vulkan-tools
|
|
(pkgs.writers.writeDashBin "set_tdp" ''
|
|
set -efux
|
|
watt=$1
|
|
value=$(( $watt * 1000 ))
|
|
${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit="$value" --fast-limit="$value" --slow-limit="$value"
|
|
'')
|
|
];
|
|
|
|
# corectrl
|
|
|
|
# use newer ryzenadj
|
|
|
|
# keyboard quirks
|
|
services.xserver.displayManager.sessionCommands = ''
|
|
${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keycode 96 = F12 Insert F12 F12' # rebind shift + F12 to shift + insert
|
|
'';
|
|
services.udev.extraHwdb = /* sh */ ''
|
|
# disable back buttons
|
|
evdev:input:b0003v2F24p0135* # /dev/input/event2
|
|
KEYBOARD_KEY_70026=reserved
|
|
KEYBOARD_KEY_70027=reserved
|
|
'';
|
|
|
|
# update cpu microcode
|
|
hardware.cpu.amd.updateMicrocode = true;
|
|
|
|
hardware.opengl.enable = true;
|
|
hardware.opengl.extraPackages = [
|
|
pkgs.amdvlk
|
|
pkgs.rocm-opencl-icd
|
|
pkgs.rocm-opencl-runtime
|
|
];
|
|
|
|
# suspend to disk
|
|
swapDevices = [{
|
|
device = "/swapfile";
|
|
}];
|
|
boot.resumeDevice = "/dev/mapper/aergia1";
|
|
services.logind.lidSwitch = "suspend-then-hibernate";
|
|
services.logind.extraConfig = ''
|
|
HandlePowerKey=hibernate
|
|
'';
|
|
|
|
# firefox touchscreen support
|
|
environment.sessionVariables.MOZ_USE_XINPUT2 = "1";
|
|
# reinit usb after docking station connect
|
|
services.udev.extraRules = ''
|
|
SUBSYSTEM=="drm", ACTION=="change", RUN+="${pkgs.dash}/bin/dash -c 'echo 0 > /sys/bus/usb/devices/usb9/authorized; echo 1 > /sys/bus/usb/devices/usb9/authorized'"
|
|
'';
|
|
}
|