CS3502/project3/default.nix
2025-12-04 18:03:57 -05:00

37 lines
No EOL
930 B
Nix

rec {
project3 = file-manager;
file-manager = { pkgs, inputs }:
let
inherit (inputs) crane fenix;
toolchain = fenix.packages.${pkgs.system}.complete.withComponents [
"rustc" "rust-std" "cargo" "rust-docs" "rustfmt" "clippy" "rust-src"
];
craneLib = (crane.mkLib pkgs).overrideToolchain toolchain;
commonArgs = {
src = craneLib.cleanCargoSource ./.;
strictDeps = true;
buildInputs = with pkgs; [
pkg-config
fontconfig
wayland
wayland-protocols
wayland-scanner
vulkan-loader
libxkbcommon
xorg.libxcb
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
xorg.libXxf86vm
];
passthru.commonArgs = commonArgs;
};
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
crate = craneLib.buildPackage (commonArgs // { inherit cargoArtifacts; });
in crate;
}