{ description = "FabApp"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ flake-parts, nixpkgs, ... }: flake-parts.lib.mkFlake { inherit inputs; } { flake = { }; systems = [ "x86_64-linux" ]; # https://flake.parts/module-arguments.html#persystem-module-parameters perSystem = { pkgs, system, ... }: { _module.args.pkgs = import inputs.nixpkgs-unstable { inherit system; # https://flake.parts/overlays # NOTE: zig overlay triggers issues with X11/GL libraries # This might be misconfiguration on my end overlays = [ ]; 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 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 ]; }; }; }; }