summaryrefslogtreecommitdiffstats
path: root/configs/hw
diff options
context:
space:
mode:
Diffstat (limited to 'configs/hw')
-rw-r--r--configs/hw/AO753.nix47
-rw-r--r--configs/hw/winmax2.nix48
-rw-r--r--configs/hw/x220.nix88
3 files changed, 183 insertions, 0 deletions
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;
+}