rio: 0.0.36 -> 0.0.37
[NixPkgs.git] / pkgs / applications / misc / nwg-displays / default.nix
blobbedc06bd333c204be5baa42f3743e67a62d4a22a
1 { lib
2 , fetchFromGitHub
3 , atk
4 , gdk-pixbuf
5 , gobject-introspection
6 , gtk-layer-shell
7 , gtk3
8 , pango
9 , python310Packages
10 , wrapGAppsHook3
11 , hyprlandSupport ? true
12 , wlr-randr
15 python310Packages.buildPythonApplication rec {
16   pname = "nwg-displays";
17   version = "0.3.18";
19   src = fetchFromGitHub {
20     owner = "nwg-piotr";
21     repo = "nwg-displays";
22     rev = "refs/tags/v${version}";
23     hash = "sha256-wf72x3lXNAJ6Y4zJmYgwJrL1gWJBvTYUcXasT5zlXCM=";
24   };
26   nativeBuildInputs = [
27     gobject-introspection
28     wrapGAppsHook3
29   ];
31   buildInputs = [
32     gtk3
33   ];
35   propagatedBuildInputs = [
36     atk
37     gdk-pixbuf
38     gtk-layer-shell
39     pango
40     python310Packages.gst-python
41     python310Packages.i3ipc
42     python310Packages.pygobject3
43   ] ++ lib.optionals hyprlandSupport [
44     wlr-randr
45   ];
47   dontWrapGApps = true;
49   postInstall = ''
50     install -Dm444 nwg-displays.svg -t $out/share/icons/hicolor/scalable/apps
51     install -Dm444 nwg-displays.desktop -t $out/share/applications
52   '';
54   preFixup = ''
55     makeWrapperArgs+=("''${gappsWrapperArgs[@]}");
56   '';
58   # Upstream has no tests
59   doCheck = false;
61   meta = {
62     homepage = "https://github.com/nwg-piotr/nwg-displays";
63     description = "Output management utility for Sway and Hyprland";
64     license = lib.licenses.mit;
65     platforms = lib.platforms.linux;
66     maintainers = [ ];
67     mainProgram = "nwg-displays";
68   };