floating-calculator/flake.nix
2026-02-23 14:36:45 +01:00

63 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;
rustPlatform = pkgs.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
};
in {
packages."${system}" = {
default = rustPlatform.buildRustPackage {
pname = "floating-calculator";
version = "0.1.0";
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = with pkgs; [
pkg-config
gcc
makeWrapper
];
buildInputs = with pkgs; [
libqalculate
];
postInstall = ''
wrapProgram $out/bin/floating-calculator \
--set LD_LIBRARY_PATH ${pkgs.lib.makeLibraryPath [pkgs.wayland pkgs.libxkbcommon]}
'';
};
};
devShells."${system}" = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
gcc
gnumake
rustToolchain
evcxr
pkg-config
libqalculate
];
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (with pkgs; [
wayland
]);
};
};
};
}