Some checks failed
Build AppImage / build (push) Has been cancelled
OpenAI komplett entfernt. Voice läuft jetzt offline mit lokalen Binaries: - whisper-cli (whisper-cpp 1.8.3) für Speech-to-Text - piper-tts mit Thorsten-Stimme (Deutsch) für Text-to-Speech - GStreamer + PipeWire in shell.nix für WebKitGTK Mikrofon-Zugriff - VoicePanel: Echtgespräch mit VAD-Stille-Erkennung, Interrupt, Loop - Models in .gitignore (~250MB) [appimage] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
94 lines
2.4 KiB
Nix
94 lines
2.4 KiB
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
# Rust Toolchain aus nixpkgs
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
clippy
|
|
gcc
|
|
pkg-config
|
|
openssl
|
|
|
|
# Tauri-Abhängigkeiten für Linux
|
|
webkitgtk_4_1
|
|
libappindicator-gtk3
|
|
librsvg
|
|
|
|
# GTK/GLib für Tauri
|
|
gtk3
|
|
glib
|
|
cairo
|
|
pango
|
|
gdk-pixbuf
|
|
|
|
# Zusätzliche Abhängigkeiten
|
|
libsoup_3
|
|
at-spi2-atk
|
|
|
|
# Node.js (falls nicht global)
|
|
nodejs_22
|
|
|
|
# Phase 2.2: Lokales Voice (kostenlos, offline)
|
|
whisper-cpp # Speech-to-Text (whisper-cli Binary)
|
|
piper-tts # Text-to-Speech (deutsche Stimme: Thorsten)
|
|
alsa-lib
|
|
ffmpeg
|
|
|
|
# GStreamer für WebKitGTK Mikrofon-Zugriff (getUserMedia)
|
|
gst_all_1.gstreamer
|
|
gst_all_1.gst-plugins-base
|
|
gst_all_1.gst-plugins-good
|
|
gst_all_1.gst-plugins-bad
|
|
gst_all_1.gst-plugins-ugly
|
|
pipewire # PipeWire-Support für Audio-Capture
|
|
|
|
# Zusätzliche Bibliotheken für Tauri CLI
|
|
bzip2
|
|
zlib
|
|
xz
|
|
zstd
|
|
];
|
|
|
|
# Umgebungsvariablen für Rust/Tauri
|
|
shellHook = ''
|
|
export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
|
|
export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath [
|
|
pkgs.webkitgtk_4_1
|
|
pkgs.libappindicator-gtk3
|
|
pkgs.gtk3
|
|
pkgs.cairo
|
|
pkgs.pango
|
|
pkgs.gdk-pixbuf
|
|
pkgs.librsvg
|
|
pkgs.libsoup_3
|
|
pkgs.bzip2
|
|
pkgs.zlib
|
|
pkgs.xz
|
|
pkgs.zstd
|
|
pkgs.openssl
|
|
pkgs.gst_all_1.gstreamer
|
|
pkgs.gst_all_1.gst-plugins-base
|
|
pkgs.gst_all_1.gst-plugins-good
|
|
pkgs.gst_all_1.gst-plugins-bad
|
|
pkgs.pipewire
|
|
pkgs.alsa-lib
|
|
]}:$LD_LIBRARY_PATH"
|
|
|
|
# GStreamer Plugin-Pfade für WebKitGTK Mikrofon-Zugriff
|
|
export GST_PLUGIN_PATH="${pkgs.lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
|
|
pkgs.gst_all_1.gstreamer
|
|
pkgs.gst_all_1.gst-plugins-base
|
|
pkgs.gst_all_1.gst-plugins-good
|
|
pkgs.gst_all_1.gst-plugins-bad
|
|
pkgs.gst_all_1.gst-plugins-ugly
|
|
]}''${GST_PLUGIN_PATH:+:$GST_PLUGIN_PATH}"
|
|
|
|
echo "🦀 Claude Desktop Entwicklungsumgebung geladen"
|
|
echo " Rust: $(rustc --version 2>/dev/null || echo 'nicht gefunden')"
|
|
echo " Cargo: $(cargo --version 2>/dev/null || echo 'nicht gefunden')"
|
|
echo " Node: $(node --version 2>/dev/null || echo 'nicht gefunden')"
|
|
echo " GStreamer: $(gst-inspect-1.0 --version 2>/dev/null | head -1 || echo 'nicht gefunden')"
|
|
'';
|
|
}
|