fabapp/flake.nix
2023-10-24 14:12:19 +02:00

76 lines
2 KiB
Nix

{
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
];
};
};
};
}