wayland_panel/flake.nix
2026-03-20 23:01:18 +01:00

64 lines
1.5 KiB
Nix

{
description = "My rust development shell";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {nixpkgs, ...} @ inputs: let
system = "x86_64-linux";
overlays = [(import inputs.rust-overlay)];
pkgs = import nixpkgs {
inherit system overlays;
};
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = ["rust-analyzer" "rust-src"];
};
runtimeLibs = with pkgs; [
wayland
libxkbcommon
glib
vulkan-loader
mesa
libGL
];
rustPlatform = pkgs.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
};
in {
packages."${system}" = {
default = rustPlatform.buildRustPackage {
pname = "wayland_panel";
version = "0.1.0";
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = [pkgs.makeWrapper];
postInstall = ''
wrapProgram $out/bin/wayland_panel \
--set LD_LIBRARY_PATH ${pkgs.lib.makeLibraryPath runtimeLibs}
'';
};
};
devShells."${system}".default = pkgs.mkShell {
buildInputs = with pkgs;
[
gcc
gnumake
rustToolchain
evcxr
]
++ runtimeLibs;
LD_LIBRARY_PATH = "/run/opengl-driver/lib:${pkgs.lib.makeLibraryPath runtimeLibs}";
};
};
}