{ inputs = { fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, fenix }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ fenix.overlays.default ]; }; rustc = pkgs.fenix.stable.rustc; cargo = pkgs.fenix.stable.cargo; neededLibs = with pkgs; (with xorg; [ ]) ++ [ ]; flakePkgs = { wedge = pkgs.callPackage ./. { inherit rustc cargo; }; }; in rec { packages = flake-utils.lib.flattenTree flakePkgs; defaultPackage = packages.wedge; devShell = pkgs.mkShell { inputsFrom = with packages; [ wedge ]; shellHook = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${ pkgs.lib.makeLibraryPath neededLibs }" ''; packages = (with pkgs; [ # cargo-watch # cargo-deny # cargo-edit # sqlx-cli # sqlite (with pkgs.fenix; combine [ rustc cargo # targets.wasm32-unknown-unknown.latest.rust-std ]) ]); PKG_CONFIG_PATH = with pkgs; lib.concatStringsSep ":" [ # "${fontconfig.dev}/lib/pkgconfig" # "${xorg.libX11.dev}/lib/pkgconfig" # "${xorg.libXcursor.dev}/lib/pkgconfig" # "${xorg.libXi.dev}/lib/pkgconfig" # "${xorg.libXrandr.dev}/lib/pkgconfig" ]; }; }); }