diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix index e0b5949ffb21..41d61e04697c 100644 --- a/nixos/modules/hardware/ksm.nix +++ b/nixos/modules/hardware/ksm.nix @@ -1,19 +1,16 @@ { config, lib, ... }: - -with lib; - let cfg = config.hardware.ksm; in { imports = [ - (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ]) + (lib.mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ]) ]; options.hardware.ksm = { - enable = mkEnableOption "Linux kernel Same-Page Merging"; - sleep = mkOption { - type = types.nullOr types.int; + enable = lib.mkEnableOption "Linux kernel Same-Page Merging"; + sleep = lib.mkOption { + type = lib.types.nullOr lib.types.int; default = null; description = '' How many milliseconds ksmd should sleep between scans. @@ -22,14 +19,14 @@ in { }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { systemd.services.enable-ksm = { description = "Enable Kernel Same-Page Merging"; wantedBy = [ "multi-user.target" ]; script = '' echo 1 > /sys/kernel/mm/ksm/run - '' + optionalString (cfg.sleep != null) + '' + lib.optionalString (cfg.sleep != null) '' echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs '';