depot/third_party/nixpkgs/pkgs/by-name/dy/dynisland/package.nix

63 lines
1.3 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
dbus,
openssl,
gtk4,
gtk4-layer-shell,
glib,
pkg-config,
wrapGAppsHook4,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "dynisland";
version = "0.1.3";
src = fetchFromGitHub {
owner = "cr3eperall";
repo = "dynisland";
rev = "refs/tags/${version}";
hash = "sha256-HqwykR6BXxtYSxNUYdegmjCwSVTW29pqP7qLWbcqLeg=";
fetchSubmodules = true;
};
cargoHash = "sha256-p67h67fRNcfiQyhCUY5Y11xTTqQbl0Ngx1EhYfaSJmw=";
buildFeatures = [ "completions" ];
buildInputs = [
dbus
openssl
gtk4
gtk4-layer-shell
];
nativeBuildInputs = [
glib
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
pkg-config
wrapGAppsHook4
installShellFiles
];
postInstall = ''
installShellCompletion --cmd dynisland \
--bash ./target/dynisland.bash \
--fish ./target/dynisland.fish \
--zsh ./target/_dynisland
'';
meta = {
description = "Dynamic and extensible GTK4 layer-shell, written in Rust";
homepage = "https://github.com/cr3eperall/dynisland";
changelog = "https://github.com/cr3eperall/dynisland/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ryand56 ];
mainProgram = "dynisland";
platforms = lib.platforms.linux;
};
}