1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-11 02:15:21 +09:00

nixos/hardware.ksm: remove with lib;

This commit is contained in:
Felix Buehler 2024-08-24 22:05:27 +02:00
parent d485dfece4
commit 55f4ce28c8

View file

@ -1,19 +1,16 @@
{ config, lib, ... }: { config, lib, ... }:
with lib;
let let
cfg = config.hardware.ksm; cfg = config.hardware.ksm;
in { in {
imports = [ imports = [
(mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ]) (lib.mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ])
]; ];
options.hardware.ksm = { options.hardware.ksm = {
enable = mkEnableOption "Linux kernel Same-Page Merging"; enable = lib.mkEnableOption "Linux kernel Same-Page Merging";
sleep = mkOption { sleep = lib.mkOption {
type = types.nullOr types.int; type = lib.types.nullOr lib.types.int;
default = null; default = null;
description = '' description = ''
How many milliseconds ksmd should sleep between scans. 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 = { systemd.services.enable-ksm = {
description = "Enable Kernel Same-Page Merging"; description = "Enable Kernel Same-Page Merging";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = script =
'' ''
echo 1 > /sys/kernel/mm/ksm/run 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 echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs
''; '';