nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 meson,
6 ninja,
7 gettext,
8 pkg-config,
9 networkmanager,
10 gnome,
11 adwaita-icon-theme,
12 libsecret,
13 polkit,
14 modemmanager,
15 libnma,
16 glib-networking,
17 gsettings-desktop-schemas,
18 libgudev,
19 jansson,
20 wrapGAppsHook3,
21 gobject-introspection,
22 python3,
23 gtk3,
24 libayatana-appindicator,
25 glib,
26}:
27
28stdenv.mkDerivation rec {
29 pname = "network-manager-applet";
30 version = "1.36.0";
31
32 src = fetchurl {
33 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
34 sha256 = "sha256-qEcESH6jr+FIXEf7KrWYuPd59UCuDcvwocX4XmSn4lM=";
35 };
36
37 mesonFlags = [
38 "-Dselinux=false"
39 "-Dappindicator=yes"
40 ];
41
42 outputs = [
43 "out"
44 "man"
45 ];
46
47 buildInputs = [
48 libnma
49 gtk3
50 networkmanager
51 libsecret
52 gsettings-desktop-schemas
53 polkit
54 libgudev
55 modemmanager
56 jansson
57 glib
58 glib-networking
59 libayatana-appindicator
60 adwaita-icon-theme
61 ];
62
63 nativeBuildInputs = [
64 meson
65 ninja
66 gettext
67 pkg-config
68 wrapGAppsHook3
69 gobject-introspection
70 python3
71 ];
72
73 postPatch = ''
74 chmod +x meson_post_install.py # patchShebangs requires executable file
75 patchShebangs meson_post_install.py
76
77 # Prevent applet from autostarting in COSMIC, which has its own built-in network applet
78 substituteInPlace nm-applet.desktop.in \
79 --replace-fail "NotShowIn=KDE;GNOME;" "NotShowIn=KDE;GNOME;COSMIC;"
80 '';
81
82 passthru = {
83 updateScript = gnome.updateScript {
84 packageName = pname;
85 attrPath = "networkmanagerapplet";
86 versionPolicy = "odd-unstable";
87 };
88 };
89
90 meta = {
91 homepage = "https://gitlab.gnome.org/GNOME/network-manager-applet/";
92 description = "NetworkManager control applet for GNOME";
93 license = lib.licenses.gpl2Plus;
94 maintainers = [ ];
95 mainProgram = "nm-applet";
96 platforms = lib.platforms.linux;
97 };
98}