From cc15f27205b7872a1e6bfbc1ddad7f327c57229b Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Thu, 16 Oct 2025 21:48:21 +0200 Subject: [PATCH] feat: nb performance tweaks --- hosts/nb/configuration.nix | 11 ++++++++++- hosts/nb/hardware-configuration.nix | 6 ++++++ hosts/nb/modules/desktop/bitwarden.nix | 2 +- hosts/nb/modules/ollama.nix | 6 ++++++ hosts/nb/modules/qdrant.nix | 4 ++++ hosts/nb/users/dominik.nix | 5 +++++ 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/hosts/nb/configuration.nix b/hosts/nb/configuration.nix index 30d3d03..7651327 100644 --- a/hosts/nb/configuration.nix +++ b/hosts/nb/configuration.nix @@ -74,10 +74,11 @@ in { users.defaultUserShell = pkgs.zsh; services.fwupd.enable = true; + services.irqbalance.enable = true; swapDevices = [ { device = "/nix/persist/swapfile"; - size = 32 * 1024; # Size is in megabytes (for hibernation) + size = 96 * 1024; # Size is in megabytes (96GB for full hibernation with 92GB RAM) } ]; # Memory tuning for 92GB RAM @@ -91,6 +92,14 @@ in { # nixos cross building qemu boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; boot.supportedFilesystems = [ "ntfs" ]; + + # Btrfs maintenance + services.btrfs.autoScrub = { + enable = true; + interval = "monthly"; + fileSystems = [ "/nix" ]; + }; + boot.plymouth = { enable = true; theme = "spin"; diff --git a/hosts/nb/hardware-configuration.nix b/hosts/nb/hardware-configuration.nix index dc815b7..d412040 100644 --- a/hosts/nb/hardware-configuration.nix +++ b/hosts/nb/hardware-configuration.nix @@ -24,6 +24,7 @@ "amdgpu.dc=1" "snd_hda_intel.power_save=1" "transparent_hugepage=madvise" + "pcie_aspm=force" ]; fileSystems."/" = { @@ -102,4 +103,9 @@ libva-utils ]; }; + + # Optimal I/O scheduler for NVMe SSDs + services.udev.extraRules = '' + ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none" + ''; } diff --git a/hosts/nb/modules/desktop/bitwarden.nix b/hosts/nb/modules/desktop/bitwarden.nix index ea145a5..fbe3db6 100644 --- a/hosts/nb/modules/desktop/bitwarden.nix +++ b/hosts/nb/modules/desktop/bitwarden.nix @@ -24,7 +24,7 @@ in #### Autostart Bitwarden desktop in your user session ######################## systemd.user.services.bitwarden = { description = "Bitwarden Desktop"; - after = [ "graphical-session.target" ]; + after = [ "graphical-session.target" "network-online.target" ]; wantedBy = [ "graphical-session.target" ]; serviceConfig.ExecStart = "${pkgs.bitwarden}/bin/bitwarden"; serviceConfig.Restart = "on-abort"; diff --git a/hosts/nb/modules/ollama.nix b/hosts/nb/modules/ollama.nix index 0c8b240..e3940ca 100644 --- a/hosts/nb/modules/ollama.nix +++ b/hosts/nb/modules/ollama.nix @@ -11,4 +11,10 @@ "mxbai-embed-large" ]; }; + + # ROCm GPU configuration for AMD Ryzen 7 7840U (gfx1103) + systemd.services.ollama.environment = { + HSA_OVERRIDE_GFX_VERSION = "11.0.3"; + ROCR_VISIBLE_DEVICES = "0"; + }; } \ No newline at end of file diff --git a/hosts/nb/modules/qdrant.nix b/hosts/nb/modules/qdrant.nix index 4f75564..8a63a2e 100644 --- a/hosts/nb/modules/qdrant.nix +++ b/hosts/nb/modules/qdrant.nix @@ -3,5 +3,9 @@ { services.qdrant = { enable = true; + settings = { + storage.performance.max_search_threads = 8; + storage.optimizers.default_segment_number = 4; + }; }; } \ No newline at end of file diff --git a/hosts/nb/users/dominik.nix b/hosts/nb/users/dominik.nix index 5a5e322..b7eff6a 100644 --- a/hosts/nb/users/dominik.nix +++ b/hosts/nb/users/dominik.nix @@ -83,6 +83,8 @@ let "gfx.webrender.force-disabled" = false; "gfx.webrender.software" = false; "gfx.webrender.compositor" = true; + "layers.mlgpu.enabled" = true; + "layers.gpu-process.enabled" = true; }; # firefoxUserChrome = '' @@ -235,6 +237,9 @@ in "--enable-features=UseOzonePlatform" "--ozone-platform=wayland" "--default-search-provider-search-url=\"https://www.perplexity.ai/search/?q=%s\"" + "--enable-gpu-rasterization" + "--enable-zero-copy" + "--disable-gpu-driver-bug-workarounds" ]; dictionaries = [ pkgs.hunspellDictsChromium.en_US