Files

62 lines
1.5 KiB
Nix

{
lib,
stdenv,
glib,
fetchFromGitHub,
networkmanager,
python3Packages,
gobject-introspection,
procps,
}:
let
inherit (python3Packages) python pygobject3;
in
stdenv.mkDerivation (finalAttrs: {
pname = "networkmanager_dmenu";
version = "2.6.3";
src = fetchFromGitHub {
owner = "firecat53";
repo = "networkmanager-dmenu";
rev = "v${finalAttrs.version}";
sha256 = "sha256-L5aO7mha37q2vjy9+j+TPiFBkqc4+deiZU9Om31HHBs=";
};
nativeBuildInputs = [ gobject-introspection ];
buildInputs = [
glib
python
pygobject3
networkmanager
python3Packages.wrapPython
procps
];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin $out/share/applications $out/share/doc/$pname
cp networkmanager_dmenu $out/bin/
cp networkmanager_dmenu.desktop $out/share/applications
cp README.md $out/share/doc/$pname/
cp config.ini.example $out/share/doc/$pname/
'';
postFixup = ''
makeWrapperArgs="\
--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
--prefix PYTHONPATH : \"$(toPythonPath $out):$(toPythonPath ${pygobject3})\""
wrapPythonPrograms
'';
meta = {
description = "Small script to manage NetworkManager connections with dmenu instead of nm-applet";
mainProgram = "networkmanager_dmenu";
homepage = "https://github.com/firecat53/networkmanager-dmenu";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jensbin ];
platforms = lib.platforms.all;
};
})