Files
TDT4195/flake.nix
2025-10-12 16:13:43 +02:00

63 lines
1.4 KiB
Nix

{
description = "Rust dev shell for building project with fontconfig and OpenGL support on nixos";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
};
nativeBuildInputs = with pkgs; [
git
pkg-config
fontconfig
freetype
rustc
cmake
gnumake
gcc
cargo
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libX11
xorg.libxcb
libxkbcommon
libGL
libGLU
mesa
wayland
libglibutil
zip
];
fontconfigPcPath = "${pkgs.fontconfig.dev}/lib/pkgconfig";
in
{
devShells.default = pkgs.mkShell {
name = "rust-fontconfig-shell";
packages = nativeBuildInputs;
shellHook = ''
export PKG_CONFIG_PATH=${fontconfigPcPath}:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath nativeBuildInputs}:$LD_LIBRARY_PATH
echo "PKG_CONFIG_PATH set to: ${fontconfigPcPath}"
echo "LD_LIBRARY_PATH set for runtime OpenGL/GUI deps"
'';
};
}
);
}