1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 pkg-config,
7 meson,
8 ninja,
9 sassc,
10 vala,
11 glib,
12 gtk4,
13 libadwaita,
14 libgee,
15 granite7,
16 wrapGAppsHook4,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "switchboard";
21 version = "8.0.3";
22
23 src = fetchFromGitHub {
24 owner = "elementary";
25 repo = pname;
26 rev = version;
27 hash = "sha256-pVXcY/QSjgBcTr0sFQnPxICoQ0tpy2fEJ687zHEDXA0=";
28 };
29
30 nativeBuildInputs = [
31 meson
32 ninja
33 pkg-config
34 sassc
35 vala
36 wrapGAppsHook4
37 ];
38
39 propagatedBuildInputs = [
40 # Required by switchboard-3.pc.
41 glib
42 granite7
43 gtk4
44 libadwaita
45 libgee
46 ];
47
48 patches = [
49 ./plugs-path-env.patch
50 ];
51
52 passthru = {
53 updateScript = nix-update-script { };
54 };
55
56 meta = with lib; {
57 description = "Extensible System Settings app for Pantheon";
58 homepage = "https://github.com/elementary/switchboard";
59 license = licenses.lgpl21Plus;
60 platforms = platforms.linux;
61 teams = [ teams.pantheon ];
62 mainProgram = "io.elementary.settings";
63 };
64}