hyprswitch 3.1.2

A CLI/GUI that allows switching between windows in Hyprland
{ 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;
    };
  }