Files
homelab/services/desktop/desktop-apps.nix
T
darmanandClaude Sonnet 5 7904433d34 terra: ollama (ROCm) + LibreChat with local persistent memory
Local LLM server on the 6800 XT (ollama-rocm, gfx1030 needs no
HSA_OVERRIDE_GFX_VERSION) fronted by a LibreChat web UI, talking to it
over the OpenAI-compatible /v1 route. Also wires up LibreChat's
persistent-memory feature, which needed its own agent+model plus a
custom extraction prompt: the default 3b model couldn't reliably tell
the user's stated facts apart from its own boilerplate, and even a
tuned prompt didn't fix that — so memory extraction now reuses
gemma4:12b, the same model as the daily-driver chat endpoint.

flake.lock bump pulls in the ollama and librechat NixOS modules.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 00:38:07 +02:00

51 lines
1.2 KiB
Nix

{ pkgs, lib, ... }:
let
rishot = pkgs.callPackage ../../pkgs/rishot.nix { };
in
# Desktop applications for a workstation host (currently: terra). Split from
# desktop-hyprland.nix, which owns the *session* (compositor, greeter, audio,
# portals); this owns the things the user actually launches inside it.
{
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"gitkraken"
"jetbrains-toolbox"
"steam"
"steam-unwrapped"
"steam-run"
"claude-code"
"proton-pass-cli"
"vivaldi"
"mongodb" # librechat's local db (services/desktop/librechat.nix) — SSPL
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = false;
gamescopeSession.enable = true;
extraCompatPackages = [ pkgs.proton-ge-bin ];
};
hardware.graphics.enable32Bit = true;
environment.systemPackages = with pkgs; [
alacritty
zed-editor
gitkraken
jetbrains-toolbox
cosmic-settings-daemon
cosmic-settings
cosmic-icons
cosmic-files
vivaldi
rishot
jq
dotnetCorePackages.sdk_10_0
nodejs
];
fonts.packages = [ pkgs.nerd-fonts.departure-mono ];
}