{ config, lib, pkgs, ... }: with lib; { nixfiles.modules = { wireguard.client.enable = true; syncthing.enable = true; bluetooth.enable = true; throttled.enable = true; android.enable = true; }; hardware.trackpoint = { enable = true; speed = 500; sensitivity = 250; }; powerManagement = let modprobe = "${pkgs.kmod}/bin/modprobe"; in { enable = true; # This fixes an issue with not being able to suspend or wake up from # suspend due to a kernel bug[1] which is still not fixed. # # I guess this can also be fixed differently[2], which does look a lot nicer # but I just can't bother. # # [1]: https://bbs.archlinux.org/viewtopic.php?id=270964 # [1]: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998 # [1]: https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/562484/comments/3 # [1]: https://gist.github.com/ioggstream/8f380d398aef989ac455b93b92d42048 # [2]: https://linrunner.de/tlp/settings/runtimepm.html powerDownCommands = "${modprobe} -r xhci_pci"; powerUpCommands = "${modprobe} xhci_pci"; }; services = { thinkfan = { enable = true; settings = { sensors = [ { hwmon = "/sys/class/hwmon"; name = "coretemp"; indices = [1]; } ]; fans = [{tpacpi = "/proc/acpi/ibm/fan";}]; levels = [ ["level auto" 0 50] ["level disengaged" 50 32767] # This could annoy some people but IDGAF. ]; }; }; fwupd.enable = true; }; boot.initrd.luks.devices."root" = { device = "/dev/disk/by-uuid/c1b46f24-eec0-47d2-a142-75ddfd7bb218"; allowDiscards = true; bypassWorkqueues = true; }; fileSystems = { "/" = { device = "/dev/disk/by-uuid/bb8b09dc-cc67-47e5-8280-532b17a9e62a"; fsType = "xfs"; options = ["noatime"]; }; "/boot" = { device = "/dev/disk/by-uuid/1083-C8A0"; fsType = "vfat"; }; }; # NOTE This makes hibernation pretty much impossible because the partition is # encrypted. swapDevices = [ { device = "/swapfile"; size = 8 * 1024; } ]; zramSwap = { enable = true; memoryPercent = 25; }; }