1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 pkg-config,
8 vala,
9 wayland-scanner,
10 wrapGAppsHook4,
11 glib,
12 granite7,
13 gtk4,
14 libadwaita,
15 wayland,
16 nix-update-script,
17}:
18
19stdenv.mkDerivation (finalAttrs: {
20 pname = "elementary-dock";
21 version = "8.1.2";
22
23 outputs = [
24 "out"
25 "dev"
26 ];
27
28 src = fetchFromGitHub {
29 owner = "elementary";
30 repo = "dock";
31 rev = finalAttrs.version;
32 hash = "sha256-hZ1xfEBN+pGj0TxNy5dSQrYuba2I0dmXl0p65rU73H4=";
33 };
34
35 depsBuildBuild = [ pkg-config ];
36
37 nativeBuildInputs = [
38 meson
39 ninja
40 pkg-config
41 vala
42 wayland-scanner
43 wrapGAppsHook4
44 ];
45
46 buildInputs = [
47 glib
48 granite7
49 gtk4
50 libadwaita
51 wayland
52 ];
53
54 # Fix building with GCC 14
55 # https://github.com/elementary/dock/issues/418
56 env.NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
57
58 passthru = {
59 updateScript = nix-update-script { };
60 };
61
62 meta = {
63 description = "Elegant, simple, clean dock";
64 homepage = "https://github.com/elementary/dock";
65 license = lib.licenses.gpl3Plus;
66 platforms = lib.platforms.linux;
67 teams = [ lib.teams.pantheon ];
68 mainProgram = "io.elementary.dock";
69 };
70})