diff --git a/modules/default.nix b/modules/default.nix index c64f6b2..7214dbf 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -54,5 +54,6 @@ ./services/telegram-notifications ./services/tlp ./services/virtualbox-guest + ./services/zram-swap ]; } diff --git a/modules/services/zram-swap/default.nix b/modules/services/zram-swap/default.nix new file mode 100644 index 0000000..8adc46d --- /dev/null +++ b/modules/services/zram-swap/default.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.az-zram-swap; +in +{ + options = { + services.az-ram-swap.enable = lib.mkEnableOption "Enable zram swap"; + }; + + config = lib.mkIf cfg.enable { + zramSwap = { + enable = true; + priority = 100; + }; + # Since we have "fast" swap, we can increase swappiness + boot.kernel.sysctl = { + "vm.swappiness" = 180; + }; + }; +} diff --git a/systems/gwyn/default.nix b/systems/gwyn/default.nix index 7282b05..8da9ccb 100644 --- a/systems/gwyn/default.nix +++ b/systems/gwyn/default.nix @@ -62,11 +62,6 @@ networking.hostName = hostname; - zramSwap = { - enable = true; - priority = 100; - }; - swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; hardware = { @@ -90,6 +85,7 @@ az-restic-client-desktop.enable = true; az-tlp.enable = true; az-x86.enable = true; + az-zram-swap.enable = true; fstrim.enable = true; # Enable TRIM for SD cards hardware.bolt.enable = true; # Enable Thunderbolt control logind.lidSwitchExternalPower = "ignore"; diff --git a/systems/management/default.nix b/systems/management/default.nix index a71619b..7d2055a 100644 --- a/systems/management/default.nix +++ b/systems/management/default.nix @@ -9,11 +9,6 @@ }; }; - zramSwap = { - enable = true; - priority = 100; - }; - # Features profiles.az-server.enable = true; services = { @@ -27,6 +22,7 @@ tag = "management"; time = "23:30"; }; + az-zram-swap.enable = true; }; # Enable dictionaries programs = { diff --git a/systems/proxy/default.nix b/systems/proxy/default.nix index db831bc..2edcf88 100644 --- a/systems/proxy/default.nix +++ b/systems/proxy/default.nix @@ -9,11 +9,6 @@ }; }; - zramSwap = { - enable = true; - priority = 100; - }; - profiles.az-server.enable = true; services = { az-acme-base.enable = true; @@ -26,6 +21,7 @@ tag = "proxy"; time = "00:00"; }; + az-zram-swap.enable = true; nginx = { commonHttpConfig = '' # Add HSTS header with preloading to HTTPS requests.