ops/nixos: globally enable zramSwap
This commit is contained in:
parent
57d4f7f05e
commit
b58f13a145
2 changed files with 20 additions and 1 deletions
|
@ -45,6 +45,11 @@ in
|
||||||
|
|
||||||
time.timeZone = mkDefault "Etc/UTC";
|
time.timeZone = mkDefault "Etc/UTC";
|
||||||
|
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
memoryMax = 4 * 1024 * 1024 * 1024;
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim rxvt_unicode.terminfo tmux rebuilder tailscale rsync
|
vim rxvt_unicode.terminfo tmux rebuilder tailscale rsync
|
||||||
(mercurial.overridePythonAttrs (origAttrs: {
|
(mercurial.overridePythonAttrs (origAttrs: {
|
||||||
|
|
|
@ -80,6 +80,15 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
memoryMax = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = with types; nullOr int;
|
||||||
|
description = ''
|
||||||
|
Maximum total amount of memory (in bytes) that can be used by the zram
|
||||||
|
swap devices.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
priority = mkOption {
|
priority = mkOption {
|
||||||
default = 5;
|
default = 5;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
|
@ -146,7 +155,12 @@ in
|
||||||
|
|
||||||
# Calculate memory to use for zram
|
# Calculate memory to use for zram
|
||||||
mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / {
|
mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / {
|
||||||
print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024)
|
value=int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024);
|
||||||
|
${if cfg.memoryMax != null then ''
|
||||||
|
memory_max=int(${toString cfg.memoryMax}/${toString devicesCount});
|
||||||
|
if (value > memory_max) { value = memory_max }
|
||||||
|
'' else ""}
|
||||||
|
print value
|
||||||
}' /proc/meminfo)
|
}' /proc/meminfo)
|
||||||
|
|
||||||
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
||||||
|
|
Loading…
Reference in a new issue