From d9607b064a958c8922bc7fb227b995bcb4a374bd Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Fri, 20 Jun 2025 17:53:44 +0200 Subject: [PATCH] feat(desktop): add earlyoom and nix build fixes for ram management. --- modules/linux/nixos/default.nix | 2 ++ modules/linux/nixos/oom.nix | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 modules/linux/nixos/oom.nix diff --git a/modules/linux/nixos/default.nix b/modules/linux/nixos/default.nix index c78ba2b..8b00723 100644 --- a/modules/linux/nixos/default.nix +++ b/modules/linux/nixos/default.nix @@ -24,6 +24,7 @@ ./nh.nix ./ollama.nix ./secrets.nix + ./oom.nix ]; crony.bluetooth.enable = lib.mkDefault true; @@ -50,4 +51,5 @@ crony.nh.enable = lib.mkDefault true; crony.ollama.enable = lib.mkDefault false; crony.secrets.enable = lib.mkDefault false; + crony.oom.enable = lib.mkDefault true; } diff --git a/modules/linux/nixos/oom.nix b/modules/linux/nixos/oom.nix new file mode 100644 index 0000000..ddb8079 --- /dev/null +++ b/modules/linux/nixos/oom.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: { + options = { + crony.oom.enable = lib.mkEnableOption "Enable and setup settings for better oom management on a desktop system and nix build."; + }; + + config = lib.mkIf config.crony.oom.enable { + nix.settings.max-jobs = 8; + services.earlyoom = { + enable = true; + enableNotifications = true; + }; + }; +}