From a533096685196b29fcc3a8707f266034d24ee489 Mon Sep 17 00:00:00 2001 From: isabel Date: Mon, 20 Apr 2026 00:44:52 +0100 Subject: [PATCH] nixos/enviroment: remove zram; add zswap oomfie said zswap is better for most cases --- modules/nixos/environment/default.nix | 2 +- modules/nixos/environment/zram.nix | 23 ----------------------- modules/nixos/environment/zswap.nix | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 24 deletions(-) delete mode 100644 modules/nixos/environment/zram.nix create mode 100644 modules/nixos/environment/zswap.nix diff --git a/modules/nixos/environment/default.nix b/modules/nixos/environment/default.nix index efb5bb20..9f31bb7b 100644 --- a/modules/nixos/environment/default.nix +++ b/modules/nixos/environment/default.nix @@ -8,7 +8,7 @@ ./paths.nix # paths ./wayland.nix # wayland settings ./xdg.nix # move everything to nice placee - ./zram.nix # zram optimisation and enabling + ./zswap.nix # zswap optimisation and enabling # keep-sorted end ]; } diff --git a/modules/nixos/environment/zram.nix b/modules/nixos/environment/zram.nix deleted file mode 100644 index 39acf575..00000000 --- a/modules/nixos/environment/zram.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, config, ... }: -let - inherit (lib) mkIf; -in -{ - # compress half of the ram to use as swap basically, get more memory per memory - zramSwap = { - enable = true; - algorithm = "zstd"; - - # defaults to 50 - memoryPercent = 90; - }; - - boot.kernel.sysctl = mkIf config.zramSwap.enable { - # zram is relatively cheap, prefer swap - "vm.swappiness" = 180; - "vm.watermark_boost_factor" = 0; - "vm.watermark_scale_factor" = 125; - # zram is in memory, no need to readahead - "vm.page-cluster" = 0; - }; -} diff --git a/modules/nixos/environment/zswap.nix b/modules/nixos/environment/zswap.nix new file mode 100644 index 00000000..e20cec6b --- /dev/null +++ b/modules/nixos/environment/zswap.nix @@ -0,0 +1,14 @@ +{ lib, config, ... }: +let + inherit (lib) mkIf; +in +{ + # compress half of the ram to use as swap basically, get more memory per memory + # + boot.zswap = { + enable = config.swapDevices != [ ]; + + # defaults are good when its not a server + maxPoolPercent = mkIf config.garden.profiles.server.enable 15; + }; +} -- 2.51.2