about summary refs log tree commit diff
path: root/pkgs/by-name/wl
diff options
context:
space:
mode:
authorBen Lorenz <bnlrnz@gmail.com>2024-04-13 11:24:56 +0200
committerBen Lorenz <bnlrnz@gmail.com>2024-04-15 09:27:45 +0200
commit00090a6429493801f9167cfb978997c17ccd8a5b (patch)
treea3531ec366690cdc3f6514b8c6a311de38e8fab5 /pkgs/by-name/wl
parent8e3bf1d6b430479ea0c04a2eb725dd8e29a0c06f (diff)
wlr-layout-ui: init at 1.4.7
patched version check, fixed postInstall
Diffstat (limited to 'pkgs/by-name/wl')
-rw-r--r--pkgs/by-name/wl/wlr-layout-ui/package.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/by-name/wl/wlr-layout-ui/package.nix b/pkgs/by-name/wl/wlr-layout-ui/package.nix
new file mode 100644
index 0000000000000..f115bf12159b9
--- /dev/null
+++ b/pkgs/by-name/wl/wlr-layout-ui/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "wlr-layout-ui";
+  version = "1.4.7";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "fdev31";
+    repo = "wlr-layout-ui";
+    rev = "${version}";
+    hash = "sha256-3NV02/Lk43h3r17jwmSAqx7wofaHFJKDh+vaWwU17Gw=";
+  };
+
+  postPatch = ''
+    # The hyprland default.nix patches the version.h of hyprland so that the
+    # version info moves to the commit key.
+    substituteInPlace src/wlr_layout_ui/screens.py \
+      --replace 'json.loads(subprocess.getoutput("hyprctl -j version"))["tag"]'\
+                'json.loads(subprocess.getoutput("hyprctl -j version"))["commit"]'
+  '';
+
+  nativeBuildInputs = [
+    python3.pkgs.poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyglet
+    tomli
+    tomli-w
+  ];
+
+  postInstall = ''
+    install -Dm644 files/wlr-layout-ui.desktop $out/share/applications/wlr-layout-ui.desktop
+  '';
+
+  meta = with lib; {
+    description = "A simple GUI to setup the screens layout on wlroots based systems";
+    homepage = "https://github.com/fdev31/wlr-layout-ui/";
+    maintainers = with maintainers; [ bnlrnz ];
+    license = licenses.mit;
+    mainProgram = "wlrlui";
+    platforms = subtractLists platforms.darwin platforms.unix;
+  };
+}