1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 08:29:36 +01:00

feat(frontend): Tauri Apps, Shared UI Library und Nix Flake

- packages/ui: Shared React Component Library (Button, Card, Badge, Input)
  mit Tailwind v4 @theme Design Tokens (oklch)
- apps/web: ERP Web-UI (Vite + React + Tailwind v4, API-Proxy :8080)
- apps/scanner: Tauri v2 Mobile App mit Barcode-Scanner Plugin
  (cfg(mobile) für Desktop-Kompatibilität)
- flake.nix: Nix Flake mit rust-overlay, Tauri System-Deps (GTK,
  WebKitGTK, libsoup, OpenSSL), ersetzt shell.nix
- justfile: Dev-Befehle für alle Projekte (backend, cli, web, scanner)
- frontend/CLAUDE.md: Agent Guide mit Base UI Docs Referenz
This commit is contained in:
Sebastian Frick 2026-03-19 16:45:47 +01:00
parent b9b89e3f0e
commit ef50eb8279
96 changed files with 11682 additions and 16 deletions

81
flake.nix Normal file
View file

@ -0,0 +1,81 @@
{
description = "Effigenix ERP Dev Environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, flake-utils, rust-overlay, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs { inherit system overlays; };
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" "rust-analyzer" ];
targets = [
"aarch64-linux-android"
"armv7-linux-androideabi"
"i686-linux-android"
"x86_64-linux-android"
];
};
in
{
devShells.default = pkgs.mkShell {
name = "effigenix";
buildInputs = with pkgs; [
# ─── Frontend ───────────────────────────
nodejs_22
nodePackages.pnpm
# ─── Rust / Tauri ───────────────────────
rustToolchain
cargo-tauri
# Tauri v2 system deps (Linux/GTK)
pkg-config
openssl
gtk3
webkitgtk_4_1
libsoup_3
glib
gdk-pixbuf
cairo
pango
harfbuzz
atk
# ─── Tools ─────────────────────────────
just
jq
curl
postgresql
rainfrog
];
# Tauri braucht diese zur Laufzeit
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (with pkgs; [
gtk3
webkitgtk_4_1
libsoup_3
openssl
]);
shellHook = ''
echo "Node $(node --version)"
echo "pnpm $(pnpm --version)"
echo "rustc $(rustc --version)"
echo "cargo $(cargo --version)"
echo ""
echo "just --list für alle Befehle"
'';
};
});
}