1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 08:29:36 +01:00
effigenix/flake.nix
Sebastian Frick ef50eb8279 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
2026-03-20 13:59:03 +01:00

81 lines
2.3 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
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"
'';
};
});
}