From 0c4f3acb281be6290c55a6e96bc29fab5b5c7a11 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 11 Sep 2023 18:24:28 +0200 Subject: stockholm -> hrm --- configs/hw/AO753.nix | 47 +++++++++++++++++++++++++++ configs/hw/winmax2.nix | 48 +++++++++++++++++++++++++++ configs/hw/x220.nix | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 183 insertions(+) create mode 100644 configs/hw/AO753.nix create mode 100644 configs/hw/winmax2.nix create mode 100644 configs/hw/x220.nix (limited to 'configs/hw') diff --git a/configs/hw/AO753.nix b/configs/hw/AO753.nix new file mode 100644 index 0000000..ea58c01 --- /dev/null +++ b/configs/hw/AO753.nix @@ -0,0 +1,47 @@ +{ config, ... }: { + imports = [ + ../smartd.nix + + { + nix.settings.cores = 2; + nix.settings.max-jobs = 2; + } + (if lib.versionAtLeast (lib.versions.majorMinor lib.version) "21.11" then { + nix.daemonCPUSchedPolicy = "batch"; + nix.daemonIOSchedPriority = 1; + } else { + nix.daemonIONiceLevel = 1; + nix.daemonNiceLevel = 1; + }) + ]; + + boot.loader.grub = { + device = "/dev/sda"; + splashImage = null; + }; + + boot.initrd.availableKernelModules = [ + "ahci" + ]; + + boot.kernelModules = [ + "kvm-intel" + "wl" + ]; + + boot.extraModulePackages = [ + config.boot.kernelPackages.broadcom_sta + ]; + + services.logind.extraConfig = '' + HandleHibernateKey=ignore + HandleLidSwitch=ignore + HandlePowerKey=ignore + HandleSuspendKey=ignore + ''; + + krebs.nixpkgs.allowUnfreePredicate = pkg: packageName pkg == "broadcom-sta"; + + tv.hw.screens.primary.width = 1366; + tv.hw.screens.primary.height = 768; +} diff --git a/configs/hw/winmax2.nix b/configs/hw/winmax2.nix new file mode 100644 index 0000000..7b28466 --- /dev/null +++ b/configs/hw/winmax2.nix @@ -0,0 +1,48 @@ +{ pkgs, ... }: { + + imports = [ + ../smartd.nix + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" ]; + boot.initrd.kernelModules = [ "amdgpu" ]; + boot.kernelModules = [ + "amd-pstate" + "kvm-amd" + ]; + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ + "amd_pstate=passive" + ]; + + hardware.bluetooth.enable = true; + + hardware.cpu.amd.updateMicrocode = true; + hardware.enableRedistributableFirmware = true; + + hardware.opengl.enable = true; + hardware.opengl.extraPackages = [ + pkgs.amdvlk + pkgs.rocm-opencl-icd + pkgs.rocm-opencl-runtime + ]; + + networking.wireless.enable = true; + networking.wireless.interfaces = [ + "wlp1s0" + ]; + networking.interfaces.wlp1s0.useDHCP = true; + + nixpkgs.hostPlatform = "x86_64-linux"; + + services.illum.enable = true; + + services.logind.extraConfig = /* ini */ '' + HandlePowerKey=ignore + ''; + + tv.lidControl.enable = true; + + tv.hw.screens.primary.width = 2560; + tv.hw.screens.primary.height = 1600; +} diff --git a/configs/hw/x220.nix b/configs/hw/x220.nix new file mode 100644 index 0000000..6993413 --- /dev/null +++ b/configs/hw/x220.nix @@ -0,0 +1,88 @@ +{ config, lib, pkgs, ... }: { + imports = [ + ../smartd.nix + { + boot.extraModulePackages = [ + config.boot.kernelPackages.acpi_call + ]; + + boot.kernelModules = [ + "acpi_call" + ]; + + environment.systemPackages = [ + pkgs.tpacpi-bat + ]; + } + + # fix jumpy touchpad + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X220#X220_Touchpad_cursor_jump/imprecise + { + services.udev.extraHwdb = /* sh */ '' + touchpad:i8042:* + LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1 + ''; + } + + { + nix.settings.cores = 2; + nix.settings.max-jobs = 2; + } + (if lib.versionAtLeast (lib.versions.majorMinor lib.version) "21.11" then { + nix.daemonCPUSchedPolicy = "batch"; + nix.daemonIOSchedPriority = 1; + } else { + nix.daemonIONiceLevel = 1; + nix.daemonNiceLevel = 1; + }) + ]; + + boot.extraModulePackages = [ + config.boot.kernelPackages.tp_smapi + ]; + + boot.kernelModules = [ "tp_smapi" ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Required for Centrino. + hardware.enableRedistributableFirmware = true; + + hardware.opengl.extraPackages = [ pkgs.vaapiIntel pkgs.vaapiVdpau ]; + + hardware.trackpoint = { + enable = true; + sensitivity = 220; + speed = 0; + emulateWheel = true; + }; + + # Conflicts with TLP, but gets enabled by DEs. + services.power-profiles-daemon.enable = false; + + services.tlp.enable = true; + services.tlp.settings = { + START_CHARGE_THRESH_BAT0 = 80; + }; + + + services.logind.extraConfig = '' + HandleHibernateKey=ignore + HandleLidSwitch=ignore + HandlePowerKey=ignore + HandleSuspendKey=ignore + ''; + + # because extraConfig is not extra enough: + services.logind.lidSwitch = "ignore"; + services.logind.lidSwitchDocked = "ignore"; + services.logind.lidSwitchExternalPower = "ignore"; + + services.xserver = { + videoDriver = "intel"; + }; + + tv.hw.screens.primary.width = lib.mkDefault 1366; + tv.hw.screens.primary.height = lib.mkDefault 768; +} -- cgit v1.2.3