64 lines
1.3 KiB
Nix
64 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;
|
||
|
};
|
||
|
}
|