63 lines
1.7 KiB
Nix
63 lines
1.7 KiB
Nix
{
|
|
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.default.rustc;
|
|
cargo = pkgs.fenix.default.cargo;
|
|
|
|
neededLibs = with pkgs;
|
|
(with xorg; [ libX11 libXcursor libXrandr libXi ])
|
|
++ [ vulkan-loader wayland wayland-protocols libxkbcommon ];
|
|
|
|
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
|
|
wasm-pack
|
|
(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"
|
|
];
|
|
};
|
|
});
|
|
}
|