feat: project 3

This commit is contained in:
Kiana Sheibani 2025-12-04 17:37:19 -05:00
parent 8f4463782c
commit b9a362d490
Signed by: toki
GPG key ID: 6CB106C25E86A9F7
15 changed files with 5425 additions and 15 deletions

View file

@ -1,13 +1,37 @@
{ mkShell,
llvmPackages_21,
dotnet-sdk
{ pkgs ? import <nixpkgs> {},
crane ? builtins.getFlake "github:ipetkov/crane",
fenix ? builtins.getFlake "github:nix-community/fenix",
}:
mkShell {
packages = [
# GCC is provided by default
# Provides clangd
llvmPackages_21.clang-tools
let
fenixPkgs = fenix.packages.${pkgs.system};
toolchain = fenixPkgs.complete.withComponents [
"rustc" "rust-std" "cargo" "rust-docs" "rustfmt" "clippy" "rust-src"
];
craneLib = (crane.mkLib pkgs).overrideToolchain toolchain;
# Rust dev tools (for P3)
rustPackages = 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
];
in craneLib.devShell {
packages = rustPackages ++ [
fenixPkgs.rust-analyzer
# C dev tools
pkgs.gcc
pkgs.llvmPackages_21.clang-tools
];
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath rustPackages}";
}