base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / dy / dynisland / package.nix
blob9c78c061352a35456e5c7b280a5d82bc2ab6c051
2   lib,
3   rustPlatform,
4   fetchFromGitHub,
5   dbus,
6   openssl,
7   gtk4,
8   gtk4-layer-shell,
9   glib,
10   pkg-config,
11   wrapGAppsHook4,
12   installShellFiles,
15 rustPlatform.buildRustPackage rec {
16   pname = "dynisland";
17   version = "0.1.3";
19   src = fetchFromGitHub {
20     owner = "cr3eperall";
21     repo = "dynisland";
22     rev = "refs/tags/${version}";
23     hash = "sha256-HqwykR6BXxtYSxNUYdegmjCwSVTW29pqP7qLWbcqLeg=";
24     fetchSubmodules = true;
25   };
27   cargoHash = "sha256-p67h67fRNcfiQyhCUY5Y11xTTqQbl0Ngx1EhYfaSJmw=";
29   buildFeatures = [ "completions" ];
31   buildInputs = [
32     dbus
33     openssl
34     gtk4
35     gtk4-layer-shell
36   ];
38   nativeBuildInputs = [
39     glib
40     rustPlatform.bindgenHook
41     rustPlatform.cargoSetupHook
42     pkg-config
43     wrapGAppsHook4
44     installShellFiles
45   ];
47   postInstall = ''
48     installShellCompletion --cmd dynisland \
49       --bash ./target/dynisland.bash \
50       --fish ./target/dynisland.fish \
51       --zsh ./target/_dynisland
52   '';
54   meta = {
55     description = "Dynamic and extensible GTK4 layer-shell, written in Rust";
56     homepage = "https://github.com/cr3eperall/dynisland";
57     changelog = "https://github.com/cr3eperall/dynisland/releases/tag/${version}";
58     license = lib.licenses.mit;
59     maintainers = with lib.maintainers; [ ryand56 ];
60     mainProgram = "dynisland";
61     platforms = lib.platforms.linux;
62   };