summaryrefslogtreecommitdiff
path: root/nixosConfigurations/melian/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixosConfigurations/melian/default.nix')
-rw-r--r--nixosConfigurations/melian/default.nix108
1 files changed, 108 insertions, 0 deletions
diff --git a/nixosConfigurations/melian/default.nix b/nixosConfigurations/melian/default.nix
new file mode 100644
index 0000000..3ba854c
--- /dev/null
+++ b/nixosConfigurations/melian/default.nix
@@ -0,0 +1,108 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+with lib; {
+ nixfiles.modules = {
+ wireguard.client.enable = true;
+
+ syncthing.enable = true;
+
+ bluetooth.enable = true;
+
+ throttled.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].
+ #
+ # [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
+ 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]
+ ];
+ };
+ };
+
+ fwupd.enable = true;
+ };
+
+ boot = {
+ initrd = {
+ availableKernelModules = [
+ "ahci"
+ "nvme"
+ "sd_mod"
+ "usb_storage"
+ "usbhid"
+ "xhci_pci"
+ ];
+
+ luks.devices."root" = {
+ device = "/dev/disk/by-uuid/c1b46f24-eec0-47d2-a142-75ddfd7bb218";
+ allowDiscards = true;
+ bypassWorkqueues = true;
+ };
+ };
+ };
+
+ fileSystems = {
+ "/boot" = {
+ device = "/dev/disk/by-uuid/1083-C8A0";
+ fsType = "vfat";
+ };
+
+ "/" = {
+ device = "/dev/disk/by-uuid/bb8b09dc-cc67-47e5-8280-532b17a9e62a";
+ fsType = "xfs";
+ options = ["noatime"];
+ };
+ };
+
+ # NOTE This makes hibernation pretty much impossible because the partition is
+ # encrypted.
+ swapDevices = [
+ {
+ device = "/swapfile";
+ size = 8 * 1024;
+ }
+ ];
+
+ zramSwap = {
+ enable = true;
+ memoryPercent = 25;
+ };
+}