about summary refs log tree commit diff
path: root/system/machines/chupacabra.nix
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2020-03-29T16·49-0400
committerGriffin Smith <root@gws.fyi>2020-03-29T16·49-0400
commit4a049b08b1afd62979d939daef733ed42b0964e2 (patch)
tree0101e8bc688e9d73f6f39afb61ce24f342328939 /system/machines/chupacabra.nix
parenta303e5c14d8ca768cba72fb1052d614508228415 (diff)
machine config for chupacabra
Diffstat (limited to 'system/machines/chupacabra.nix')
-rw-r--r--system/machines/chupacabra.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/system/machines/chupacabra.nix b/system/machines/chupacabra.nix
new file mode 100644
index 0000000000..a283346ad5
--- /dev/null
+++ b/system/machines/chupacabra.nix
@@ -0,0 +1,49 @@
+{ config, lib, pkgs, ... }:
+{
+  imports = [
+    ../modules/reusable/battery.nix
+    <nixos-hardware/common/cpu/intel>
+    <nixos-hardware/common/pc/laptop>
+  ];
+
+  networking.hostName = "chupacabra";
+
+  powerManagement = {
+    enable = true;
+    powertop.enable = true;
+    cpuFreqGovernor = "performance";
+  };
+
+  laptop.onLowBattery = {
+    enable = true;
+    action = "hibernate";
+    thresholdPercentage = 5;
+  };
+
+  boot.initrd.luks.devices."cryptswap".device = "/dev/disk/by-uuid/3b6e2fd4-bfe9-4392-a6e0-4f3b3b76e019";
+
+  boot.kernelParams = [ "acpi_rev_override" ];
+  services.thermald.enable = true;
+
+  # Intel-only graphics
+  hardware.nvidiaOptimus.disable = true;
+  boot.blacklistedKernelModules = [ "nouveau" "intel" ];
+  services.xserver.videoDrivers = [ "intel" ];
+
+  # Nvidia Optimus (hybrid) - currently not working
+  # services.xserver.videoDrivers = [ "intel" "nvidia" ];
+  # boot.blacklistedKernelModules = [ "nouveau" "bbswitch" ];
+  # boot.extraModulePackages = [ pkgs.linuxPackages.nvidia_x11 ];
+  # hardware.bumblebee.enable = true;
+  # hardware.bumblebee.pmMethod = "none";
+
+  systemd.services.disable-usb-autosuspend = {
+    description = "Disable USB autosuspend";
+    wantedBy = [ "multi-user.target" ];
+    serviceConfig = { Type = "oneshot"; };
+    unitConfig.RequiresMountsFor = "/sys";
+    script = ''
+      echo -1 > /sys/module/usbcore/parameters/autosuspend
+    '';
+  };
+}