mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 11:59:35 +01:00
- 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
81 lines
2.3 KiB
Nix
81 lines
2.3 KiB
Nix
{
|
||
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"
|
||
'';
|
||
};
|
||
});
|
||
}
|