7 cfg = config.systemd.oomd;
11 enable = lib.mkDefault true;
12 enableRootSlice = lib.mkDefault true;
13 enableSystemSlice = lib.mkDefault true;
14 enableUserSlices = lib.mkDefault true;
16 systemd.slices."-".sliceConfig = lib.mkIf cfg.enableRootSlice {
17 ManagedOOMMemoryPressure = "kill";
18 ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
19 ManagedOOMSwap = "kill";
20 ManagedOOMSwapLimit = lib.mkDefault "80%";
22 systemd.slices."system".sliceConfig = lib.mkIf cfg.enableSystemSlice {
23 ManagedOOMMemoryPressure = "kill";
24 ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
25 ManagedOOMSwap = "kill";
26 ManagedOOMSwapLimit = lib.mkDefault "80%";
28 systemd.slices."user".sliceConfig = lib.mkIf cfg.enableUserSlices {
29 ManagedOOMMemoryPressure = "kill";
30 ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
31 ManagedOOMSwap = "kill";
32 ManagedOOMSwapLimit = lib.mkDefault "80%";
34 systemd.user.units."slice" = lib.mkIf cfg.enableUserSlices (
38 ManagedOOMMemoryPressure=kill
39 ManagedOOMMemoryPressureLimit=80%
41 ManagedOOMSwapLimit=80%
43 overrideStrategy = "asDropin";