stockholm/lass/1systems/aergia/physical.nix

113 lines
2.7 KiB
Nix
Raw Normal View History

2023-01-26 15:13:42 +00:00
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
./config.nix
(modulesPath + "/installer/scan/not-detected.nix")
<stockholm/lass/2configs/antimicrox>
2023-01-26 15:13:42 +00:00
];
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;
};
2023-01-29 23:27:34 +00:00
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [
# use less power with pstate
"amd_pstate=passive"
2023-01-29 23:27:34 +00:00
2023-02-08 14:01:37 +00:00
# suspend
"resume_offset=178345675"
2023-01-29 23:27:34 +00:00
];
2023-01-26 15:13:42 +00:00
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"
];
2023-01-26 15:13:42 +00:00
# hardware.cpu.amd.updateMicrocode = true;
services.xserver.videoDrivers = [
"amdgpu"
];
boot.initrd.availableKernelModules = [
"nvme"
"thunderbolt"
"xhci_pci"
"usbhid"
];
boot.initrd.kernelModules = [
"amdgpu"
];
2023-01-26 15:13:42 +00:00
environment.systemPackages = [
2023-01-29 23:27:34 +00:00
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"
'')
2023-01-26 15:13:42 +00:00
];
2023-01-29 23:27:34 +00:00
# corectrl
2023-07-23 21:01:09 +00:00
programs.corectrl = {
enable = true;
gpuOverclock = {
enable = true;
ppfeaturemask = "0xffffffff";
};
};
users.users.mainUser.extraGroups = [ "corectrl" ];
2023-01-29 23:27:34 +00:00
# use newer ryzenadj
2023-01-30 14:53:59 +00:00
# keyboard quirks
services.xserver.displayManager.sessionCommands = ''
${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keycode 96 = F12 Insert F12 F12' # rebind shift + F12 to shift + insert
2023-01-30 14:53:59 +00:00
'';
2023-01-30 15:13:28 +00:00
services.udev.extraHwdb = /* sh */ ''
# disable back buttons
evdev:input:b0003v2F24p0135* # /dev/input/event2
KEYBOARD_KEY_70026=reserved
KEYBOARD_KEY_70027=reserved
'';
2023-01-30 15:13:47 +00:00
2023-02-06 11:50:33 +00:00
# update cpu microcode
hardware.cpu.amd.updateMicrocode = true;
2023-02-08 14:01:37 +00:00
hardware.opengl.enable = true;
hardware.opengl.extraPackages = [
pkgs.amdvlk
pkgs.rocm-opencl-icd
pkgs.rocm-opencl-runtime
];
2023-02-08 14:01:37 +00:00
# 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";
2023-07-08 12:59:15 +00:00
# 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'"
'';
2023-01-26 15:13:42 +00:00
}