61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options.myModules.performance = {
|
|
enable = lib.mkEnableOption "system performance optimizations";
|
|
};
|
|
|
|
config = lib.mkIf config.myModules.performance.enable {
|
|
services.scx = {
|
|
enable = true;
|
|
scheduler = "scx_rustland";
|
|
package = pkgs.scx.full;
|
|
};
|
|
|
|
services.ananicy = {
|
|
enable = true;
|
|
package = pkgs.ananicy-cpp;
|
|
rulesProvider = pkgs.ananicy-rules-cachyos;
|
|
};
|
|
|
|
zramSwap = {
|
|
enable = lib.mkForce true;
|
|
algorithm = lib.mkForce "zstd";
|
|
memoryPercent = lib.mkForce 100;
|
|
priority = 100;
|
|
};
|
|
|
|
boot.kernel.sysctl = {
|
|
"vm.swappiness" = lib.mkForce 180;
|
|
"vm.watermark_boost_factor" = lib.mkForce 0;
|
|
"vm.watermark_scale_factor" = lib.mkForce 125;
|
|
"vm.page-cluster" = lib.mkForce 0;
|
|
"vm.dirty_ratio" = lib.mkForce 10;
|
|
"vm.dirty_background_ratio" = lib.mkForce 5;
|
|
|
|
"net.core.somaxconn" = lib.mkForce 8192;
|
|
"net.core.netdev_max_backlog" = lib.mkForce 16384;
|
|
"net.ipv4.tcp_slow_start_after_idle" = lib.mkForce 0;
|
|
"net.ipv4.tcp_rmem" = lib.mkForce "4096 1048576 2097152";
|
|
"net.ipv4.tcp_wmem" = lib.mkForce "4096 65536 16777216";
|
|
};
|
|
|
|
# faster boot
|
|
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
|
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
|
|
|
|
services.irqbalance.enable = true;
|
|
|
|
nix.settings = {
|
|
max-jobs = "auto";
|
|
cores = 0;
|
|
log-lines = 25;
|
|
};
|
|
};
|
|
}
|