3p/nixpkgs: add zram patch
This commit is contained in:
parent
0a1d30ae7d
commit
4396210e5d
2 changed files with 36 additions and 1 deletions
4
third_party/nixpkgs/copy.bara.sky
vendored
4
third_party/nixpkgs/copy.bara.sky
vendored
|
@ -15,7 +15,9 @@ core.workflow(
|
|||
]),
|
||||
authoring = authoring.pass_thru("Default email <noreply+nixpkgs@lukegb.com>"),
|
||||
transformations = [
|
||||
patch.apply(patches = []),
|
||||
patch.apply(patches = [
|
||||
"patches/0002-zram-allow-memorymax.patch",
|
||||
]),
|
||||
core.move("", "third_party/nixpkgs"),
|
||||
],
|
||||
)
|
||||
|
|
33
third_party/nixpkgs/patches/0002-zram-allow-memorymax.patch
vendored
Normal file
33
third_party/nixpkgs/patches/0002-zram-allow-memorymax.patch
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix
|
||||
--- a/nixos/modules/config/zram.nix
|
||||
+++ b/nixos/modules/config/zram.nix
|
||||
@@ -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 {
|
||||
default = 5;
|
||||
type = types.int;
|
||||
@@ -146,7 +155,12 @@ in
|
||||
|
||||
# Calculate memory to use for zram
|
||||
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)
|
||||
|
||||
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
Loading…
Reference in a new issue