{ description = "FabApp"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; zig-overlay.url = "github:mitchellh/zig-overlay"; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ flake-parts, nixpkgs, ... }: flake-parts.lib.mkFlake { inherit inputs; } { flake = { # Put your original flake attributes here. }; systems = [ "x86_64-linux" ]; # https://flake.parts/module-arguments.html#persystem-module-parameters perSystem = { pkgs, system, ... }: { # We need unstable for Zig _module.args.pkgs = import inputs.nixpkgs { inherit system; # https://flake.parts/overlays overlays = [ inputs.zig-overlay.overlays.default ]; config = { }; }; formatter = pkgs.nixfmt; devShells.default = with pkgs; mkShell { # EM_CONFIG = pkgs.writeText ".emscripten" '' # EMSCRIPTEN_ROOT = '${pkgs.emscripten}/share/emscripten' # LLVM_ROOT = '${pkgs.emscripten.llvmEnv}/bin' # BINARYEN_ROOT = '${pkgs.binaryen}' # NODE_JS = '${pkgs.nodejs-18_x}/bin/node' # CACHE = '${toString ./.cache}' # ''; nativeBuildInputs = [ clang cmake just ninja tup ]; buildInputs = [ sqlite # Zig / webAssembly impl. # zig zigpkgs."0.11.0" # Issue with X11/GL libraries zls emscripten # Linux graphical deps ## X11 xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXext xorg.libXrandr xorg.libXinerama xorg.libxcb libGL libGLU pkg-config ## Wayland wayland-protocols wayland libxkbcommon ]; }; }; }; }