{ lib, pkgs, pkg-config, rustPlatform, makeWrapper }: let
package = (builtins.fromTOML (builtins.readFile ./Cargo.toml)).package;
in
rustPlatform.buildRustPackage rec {
name = package.name;
version = package.version;
src = lib.cleanSource ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = with pkgs; [ glib gtk4 gtk4-layer-shell ];
postInstall = ''
wrapProgram $out/bin/${name}
'';
meta = {
description = package.description;
homepage = package.repository;
license = package.license;
};
}