20 lines
569 B
Nix
20 lines
569 B
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.software.system.zswap;
|
|
in {
|
|
options.modules.software.system.zswap = {
|
|
enable = mkEnableOption "Enable zswap, a compressed RAM cache for swap pages";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
boot.kernelParams = [
|
|
"zswap.enabled=1"
|
|
"zswap.shrinker_enabled=1" # high mem: shrink zswap, mv to swap
|
|
"zswap.max_pool_percent=20" # TODO: tune this (keep in mind shrinker is enabled)
|
|
"zswap.compressor=zstd" # lz4 is missing for some reason
|
|
"zswap.zpool=zsmalloc"
|
|
];
|
|
};
|
|
}
|