From 112275a1cc217dbf048b35db8b445c8fe25eeb4b Mon Sep 17 00:00:00 2001 From: dawn <90008@klbr.net> Date: Sun, 13 Sep 2026 21:10:02 +0300 Subject: [PATCH] weg --- hosts/chernobog/modules/llm.nix | 86 +++++++++++++++++++++++++++- modules/base/hm-system-defaults.nix | 8 +-- pkgs-set/pkgs/llama-cpp-nanbeige.nix | 30 +++++----- users/mayer/default.nix | 4 ++ users/modules/niri/config.kdl | 4 +- 5 files changed, 111 insertions(+), 21 deletions(-) diff --git a/hosts/chernobog/modules/llm.nix b/hosts/chernobog/modules/llm.nix index 36ebace..84079ed 100644 --- a/hosts/chernobog/modules/llm.nix +++ b/hosts/chernobog/modules/llm.nix @@ -1,8 +1,88 @@ -{terra, ...}: +{ lib, terra, ... }: let llama = terra.llama-cpp-rocm; -in { + service = description: arguments: { + Unit.Description = description; + Service = { + ExecStart = "${lib.getExe' llama "llama-server"} ${lib.escapeShellArgs arguments}"; + Restart = "always"; + RestartSec = "5s"; + }; + Install.WantedBy = [ "default.target" ]; + }; + embeddingArguments = [ + "-m" + "/home/mayer/models/bge-m3-q8_0.gguf" + "--host" + "100.64.0.6" + "--port" + "8002" + "--no-webui" + "--no-mmap" + "--embeddings" + "--pooling" + "cls" + "-ngl" + "999" + "-t" + "6" + "-tb" + "12" + "-c" + "32768" + "--parallel" + "32" + "-b" + "16384" + "-ub" + "2048" + "-fa" + "on" + "--cache-ram" + "0" + "--metrics" + ]; + rerankerArguments = [ + "-m" + "/home/mayer/models/bge-reranker-v2-m3-Q8_0.gguf" + "--host" + "100.64.0.6" + "--port" + "8003" + "--no-webui" + "--no-mmap" + "--embeddings" + "--reranking" + "--pooling" + "rank" + "-ngl" + "999" + "-t" + "6" + "-tb" + "12" + "-c" + "32768" + "--parallel" + "16" + "-b" + "8192" + "-ub" + "1024" + "-fa" + "on" + "--cache-ram" + "0" + "--metrics" + ]; +in +{ hardware.amdgpu.opencl.enable = true; - environment.systemPackages = [llama]; + environment.systemPackages = [ llama ]; + + home-manager.users.mayer.systemd.user.services = { + bge-m3 = service "BGE-M3 embedding server" embeddingArguments; + bge-reranker = service "BGE reranker v2 M3 server" rerankerArguments; + }; } diff --git a/modules/base/hm-system-defaults.nix b/modules/base/hm-system-defaults.nix index 9aa7dec..67bd215 100644 --- a/modules/base/hm-system-defaults.nix +++ b/modules/base/hm-system-defaults.nix @@ -1,6 +1,7 @@ { config, inputs, + lib, tlib, terra, ... @@ -13,10 +14,9 @@ { home = { inherit (config.environment) shellAliases; - sessionVariables = builtins.removeAttrs config.environment.sessionVariables [ - "XDG_DATA_DIRS" - "XDG_CONFIG_DIRS" - ]; + # list values are stringified (space-joined) by home-manager, losing the + # profile-relative paths nixpkgs renders into /etc/set-environment + sessionVariables = lib.filterAttrs (_: v: !(builtins.isList v)) config.environment.sessionVariables; stateVersion = config.system.stateVersion; }; xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text; diff --git a/pkgs-set/pkgs/llama-cpp-nanbeige.nix b/pkgs-set/pkgs/llama-cpp-nanbeige.nix index bbace36..08d36a1 100644 --- a/pkgs-set/pkgs/llama-cpp-nanbeige.nix +++ b/pkgs-set/pkgs/llama-cpp-nanbeige.nix @@ -7,26 +7,30 @@ cudaSupport ? false, openclSupport ? false, blasSupport ? true, + rocmGpuTargets ? null, ... }: -(llama-cpp.override { - inherit - vulkanSupport - rocmSupport - cudaSupport - openclSupport - blasSupport - ; -}).overrideAttrs (oldAttrs: { +(llama-cpp.override ( + { + inherit + vulkanSupport + rocmSupport + cudaSupport + openclSupport + blasSupport + ; + } + // lib.optionalAttrs (rocmGpuTargets != null) { inherit rocmGpuTargets; } +)).overrideAttrs (oldAttrs: { pname = "llama-cpp-nanbeige"; version = "42"; src = fetchFromGitHub { - owner = "Nanbeige"; + owner = "ggml-org"; repo = "llama.cpp"; - rev = "03327d628ad6db847d28a330636ffbd845030e29"; - hash = "sha256-20BZ5zqsOM9fq5ttiRSv+nTq2jKqegKHL0pg3fED/CM="; + rev = "451b89bae0c4b1dd612eb503ceace906c01ddcc9"; + hash = "sha256-gw57zjMPVsIHUg700NfLPLzW9SvQL4QJyqs8XQklJIc="; }; npmRoot = ""; @@ -38,7 +42,7 @@ ) oldAttrs.nativeBuildInputs; postPatch = '' - echo "03327d6" > COMMIT + echo "451b89b" > COMMIT ''; preConfigure = '' diff --git a/users/mayer/default.nix b/users/mayer/default.nix index eba7718..e9ed8cc 100644 --- a/users/mayer/default.nix +++ b/users/mayer/default.nix @@ -277,6 +277,10 @@ in IdentityFile ~/.ssh/tangled-dev Host knot.tngl.boltless.dev Port 2222 + Host trimounts + Hostname 159.195.58.28 + Port 2200 + User root ''; # services.yubikey-agent.enable = true; # diff --git a/users/modules/niri/config.kdl b/users/modules/niri/config.kdl index 409fb9e..cd40a26 100644 --- a/users/modules/niri/config.kdl +++ b/users/modules/niri/config.kdl @@ -173,7 +173,9 @@ binds { Mod+Shift+Slash { show-hotkey-overlay; } Mod+Return hotkey-overlay-title="terminal: foot" { spawn "footclient"; } - Mod+D hotkey-overlay-title="launcher: wofi" { spawn "tofi-drun"; } + // niri spawns with the environment it was started with, which can lag + // /etc/set-environment after config changes; re-source it for the launcher + Mod+D hotkey-overlay-title="launcher: wofi" { spawn-sh ". /etc/set-environment; exec tofi-drun"; } Alt+S hotkey-overlay-title="screenshot screen" { screenshot-screen; } Alt+Shift+S hotkey-overlay-title="screenshot" { screenshot; } -- 2.51.2