claude-desktop/shell.nix
Eddy f5ca5bca7c Phase 3: SQLite-Persistierung, Guard-Rails Integration + Claude Bridge
- db.rs: Vollständige SQLite-Schicht (Permissions, Audit, Memory, Patterns, Settings)
- guard.rs: Risiko-Klassifikation + Freigabe-Management in lib.rs integriert
- scripts/claude-bridge.js: Node.js Bridge für Claude CLI (stream-json, NDJSON)
- audit.rs + memory.rs: An SQLite angebunden statt In-Memory
- Frontend: MemoryPanel + AuditLog laden echte Daten via Tauri-Commands
- shell.nix: Rust-Toolchain aus nixpkgs statt rustup
- Build: cargo check + npm run build erfolgreich

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 18:28:35 +02:00

68 lines
1.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
# Für Audio (Whisper/TTS später)
alsa-lib
ffmpeg
# 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
]}:$LD_LIBRARY_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')"
'';
}