diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix new file mode 100644 index 000000000000..4636477c1c51 --- /dev/null +++ b/pkgs/applications/misc/nwg-panel/default.nix @@ -0,0 +1,57 @@ +{ lib, fetchFromGitHub +, python3Packages, wrapGAppsHook, gobject-introspection +, gtk-layer-shell, pango, gdk-pixbuf, atk +# Extra packages called by various internal nwg-panel modules +, sway # swaylock, swaymsg +, systemd # systemctl +, wlr-randr # wlr-randr +, nwg-menu # nwg-menu +, light # light +, pamixer # pamixer +, pulseaudio # pactl +}: + +python3Packages.buildPythonApplication rec { + pname = "nwg-panel"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "nwg-piotr"; + repo = "nwg-panel"; + rev = "v${version}"; + hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY="; + }; + + # No tests + doCheck = false; + + # Because of wrapGAppsHook + strictDeps = false; + dontWrapGApps = true; + + buildInputs = [ atk gdk-pixbuf gtk-layer-shell pango ]; + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; + propagatedBuildInputs = with python3Packages; [ i3ipc netifaces psutil pybluez pygobject3 ]; + + postInstall = '' + mkdir -p $out/share/{applications,pixmaps} + cp $src/nwg-panel-config.desktop $out/share/applications/ + cp $src/nwg-shell.svg $src/nwg-panel.svg $out/share/pixmaps/ + ''; + + preFixup = '' + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --prefix XDG_DATA_DIRS : "$out/share" + --prefix PATH : "${lib.makeBinPath [ light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}" + ) + ''; + + meta = with lib; { + homepage = "https://github.com/nwg-piotr/nwg-panel"; + description = "GTK3-based panel for Sway window manager"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ berbiche ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2ae2cee9d8df..76d9081c329e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25684,6 +25684,8 @@ in nwg-menu = callPackage ../applications/misc/nwg-menu { }; + nwg-panel = callPackage ../applications/misc/nwg-panel { }; + ocenaudio = callPackage ../applications/audio/ocenaudio { }; onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };