nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 glib,
5 fetchFromGitHub,
6 networkmanager,
7 python3Packages,
8 gobject-introspection,
9 procps,
10}:
11
12let
13 inherit (python3Packages) python pygobject3;
14in
15stdenv.mkDerivation (finalAttrs: {
16 pname = "networkmanager_dmenu";
17 version = "2.6.2";
18
19 src = fetchFromGitHub {
20 owner = "firecat53";
21 repo = "networkmanager-dmenu";
22 rev = "v${finalAttrs.version}";
23 sha256 = "sha256-NTkGKUZ3xA9ZWBLZgjIR5wrUXVhccGkGqnnm0a79p+Q=";
24 };
25
26 nativeBuildInputs = [ gobject-introspection ];
27 buildInputs = [
28 glib
29 python
30 pygobject3
31 networkmanager
32 python3Packages.wrapPython
33 procps
34 ];
35
36 dontBuild = true;
37
38 installPhase = ''
39 mkdir -p $out/bin $out/share/applications $out/share/doc/$pname
40 cp networkmanager_dmenu $out/bin/
41 cp networkmanager_dmenu.desktop $out/share/applications
42 cp README.md $out/share/doc/$pname/
43 cp config.ini.example $out/share/doc/$pname/
44 '';
45
46 postFixup = ''
47 makeWrapperArgs="\
48 --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
49 --prefix PYTHONPATH : \"$(toPythonPath $out):$(toPythonPath ${pygobject3})\""
50 wrapPythonPrograms
51 '';
52
53 meta = {
54 description = "Small script to manage NetworkManager connections with dmenu instead of nm-applet";
55 mainProgram = "networkmanager_dmenu";
56 homepage = "https://github.com/firecat53/networkmanager-dmenu";
57 license = lib.licenses.mit;
58 maintainers = [ lib.maintainers.jensbin ];
59 platforms = lib.platforms.all;
60 };
61})