about summary refs log tree commit diff
path: root/pkgs/by-name/hy
diff options
context:
space:
mode:
authorlachrymaLF <lachrymalfutura@gmail.com>2024-03-29 18:12:19 -0400
committeraleksana <me@aleksana.moe>2024-04-05 17:39:31 +0800
commit256bec2353b256c6122083e45496f3e8ec226adb (patch)
treedfef79ff15df7f56217f069df8453e6705222bb0 /pkgs/by-name/hy
parent698b8908d2d30d793b63024df368ce12ff9639ae (diff)
hydrapaper: init at 3.3.2
Diffstat (limited to 'pkgs/by-name/hy')
-rw-r--r--pkgs/by-name/hy/hydrapaper/package.nix77
1 files changed, 77 insertions, 0 deletions
diff --git a/pkgs/by-name/hy/hydrapaper/package.nix b/pkgs/by-name/hy/hydrapaper/package.nix
new file mode 100644
index 0000000000000..313a9ed4b8294
--- /dev/null
+++ b/pkgs/by-name/hy/hydrapaper/package.nix
@@ -0,0 +1,77 @@
+{ lib
+, python3Packages
+, fetchFromGitLab
+, meson
+, ninja
+, glib
+, pkg-config
+, pandoc
+, appstream
+, blueprint-compiler
+, gobject-introspection
+, wrapGAppsHook4
+, dbus
+, libadwaita
+, xdg-user-dirs
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "hydrapaper";
+  version = "3.3.2";
+  pyproject = false;
+
+  src = fetchFromGitLab {
+    owner = "gabmus";
+    repo = "HydraPaper";
+    rev = version;
+    hash = "sha256-IDaM8bM/0KH9h59523WqLKe400V5lLNyJ4faPf980Ro=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    glib
+    pkg-config
+    pandoc
+    appstream
+    blueprint-compiler
+    gobject-introspection
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    dbus
+    glib
+    libadwaita
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    dbus-python
+    pygobject3
+    pillow
+  ];
+
+  # wrapGAppsHook4 propogates gtk4 -- which provides gtk4-update-icon-cache instead
+  preInstall = ''
+    substituteInPlace /build/source/meson_post_install.py \
+      --replace-fail gtk-update-icon-cache gtk4-update-icon-cache
+  '';
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : ${lib.makeBinPath [ glib xdg-user-dirs ]}
+    )
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  meta = {
+    description = "GNOME utility for setting different wallpapers on individual monitors";
+    homepage = "https://hydrapaper.gabmus.org";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ lachrymal ];
+    mainProgram = "hydrapaper";
+    platforms = lib.platforms.linux;
+  };
+}