From 270d0275c2bb3aeb0f26df1c8b1be3c9e837cbe8 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sun, 25 May 2025 14:19:17 +0300 Subject: [PATCH 1/6] rofi-rbw: move to pkgs/by-name --- pkgs/by-name/ro/rofi-rbw-wayland/package.nix | 4 ++++ pkgs/by-name/ro/rofi-rbw-x11/package.nix | 4 ++++ .../default.nix => by-name/ro/rofi-rbw/package.nix} | 12 ++++++------ pkgs/top-level/all-packages.nix | 13 ------------- 4 files changed, 14 insertions(+), 19 deletions(-) create mode 100644 pkgs/by-name/ro/rofi-rbw-wayland/package.nix create mode 100644 pkgs/by-name/ro/rofi-rbw-x11/package.nix rename pkgs/{applications/misc/rofi-rbw/default.nix => by-name/ro/rofi-rbw/package.nix} (89%) diff --git a/pkgs/by-name/ro/rofi-rbw-wayland/package.nix b/pkgs/by-name/ro/rofi-rbw-wayland/package.nix new file mode 100644 index 0000000000000..df14e2c5f67c2 --- /dev/null +++ b/pkgs/by-name/ro/rofi-rbw-wayland/package.nix @@ -0,0 +1,4 @@ +{ rofi-rbw }: +rofi-rbw.override { + waylandSupport = true; +} diff --git a/pkgs/by-name/ro/rofi-rbw-x11/package.nix b/pkgs/by-name/ro/rofi-rbw-x11/package.nix new file mode 100644 index 0000000000000..80ef776daa514 --- /dev/null +++ b/pkgs/by-name/ro/rofi-rbw-x11/package.nix @@ -0,0 +1,4 @@ +{ rofi-rbw }: +rofi-rbw.override { + x11Support = true; +} diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/by-name/ro/rofi-rbw/package.nix similarity index 89% rename from pkgs/applications/misc/rofi-rbw/default.nix rename to pkgs/by-name/ro/rofi-rbw/package.nix index 13f9e91244e54..54b65be783fe5 100644 --- a/pkgs/applications/misc/rofi-rbw/default.nix +++ b/pkgs/by-name/ro/rofi-rbw/package.nix @@ -1,9 +1,7 @@ { lib, - buildPythonApplication, + python3Packages, fetchFromGitHub, - configargparse, - hatchling, rbw, waylandSupport ? false, @@ -15,7 +13,7 @@ xdotool, }: -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "rofi-rbw"; version = "1.5.1"; format = "pyproject"; @@ -28,7 +26,7 @@ buildPythonApplication rec { }; nativeBuildInputs = [ - hatchling + python3Packages.hatchling ]; buildInputs = [ @@ -43,7 +41,9 @@ buildPythonApplication rec { xdotool ]; - propagatedBuildInputs = [ configargparse ]; + propagatedBuildInputs = [ + python3Packages.configargparse + ]; pythonImportsCheck = [ "rofi_rbw" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b48eb8809a37..4e0df15c24576 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11839,19 +11839,6 @@ with pkgs; rofi-emoji = (callPackage ../applications/misc/rofi-emoji { }).v3; - rofi-rbw = python3Packages.callPackage ../applications/misc/rofi-rbw { - waylandSupport = false; - x11Support = false; - }; - - rofi-rbw-wayland = python3Packages.callPackage ../applications/misc/rofi-rbw { - waylandSupport = true; - }; - - rofi-rbw-x11 = python3Packages.callPackage ../applications/misc/rofi-rbw { - x11Support = true; - }; - # a somewhat more maintained fork of ympd memento = qt6Packages.callPackage ../applications/video/memento { }; From 2e28c9f6db72bd3e5476affa85974831d7484294 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sun, 13 Jul 2025 18:34:19 +0300 Subject: [PATCH 2/6] rofi-rbw: modernize and cleanup - pyprojectize the recipe - buildInputs were useless - wrapper paths and flags belonged in a `let..in` --- pkgs/by-name/ro/rofi-rbw/package.nix | 64 ++++++++++++---------------- 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/pkgs/by-name/ro/rofi-rbw/package.nix b/pkgs/by-name/ro/rofi-rbw/package.nix index 54b65be783fe5..c6d82037d52b6 100644 --- a/pkgs/by-name/ro/rofi-rbw/package.nix +++ b/pkgs/by-name/ro/rofi-rbw/package.nix @@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec { pname = "rofi-rbw"; version = "1.5.1"; - format = "pyproject"; + pyproject = true; src = fetchFromGitHub { owner = "fdw"; @@ -25,57 +25,47 @@ python3Packages.buildPythonApplication rec { hash = "sha256-Qdbz3UjWMCuJUzR6UMt/apt+OjMAr2U7uMtv9wxEZKE="; }; - nativeBuildInputs = [ + build-system = [ python3Packages.hatchling ]; - buildInputs = [ - rbw - ] - ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] - ++ lib.optionals x11Support [ - xclip - xdotool - ]; - - propagatedBuildInputs = [ + dependencies = [ python3Packages.configargparse ]; pythonImportsCheck = [ "rofi_rbw" ]; - wrapper_paths = [ - rbw - ] - ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] - ++ lib.optionals x11Support [ - xclip - xdotool - ]; - - wrapper_flags = - lib.optionalString waylandSupport "--typer wtype --clipboarder wl-copy" - + lib.optionalString x11Support "--typer xdotool --clipboarder xclip"; + preFixup = + let + wrapperPaths = [ + rbw + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xclip + xdotool + ]; - preFixup = '' - makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath wrapper_paths} --add-flags "${wrapper_flags}") - ''; + wrapperFlags = + lib.optionalString waylandSupport " --typer wtype --clipboarder wl-copy" + + lib.optionalString x11Support " --typer xdotool --clipboarder xclip"; + in + '' + makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath wrapperPaths} --add-flags "${wrapperFlags}") + ''; - meta = with lib; { + meta = { description = "Rofi frontend for Bitwarden"; homepage = "https://github.com/fdw/rofi-rbw"; - license = licenses.mit; - maintainers = with maintainers; [ + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ equirosa dit7ya ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; mainProgram = "rofi-rbw"; }; } From d17e964c45da45d795ea1d91425025f35efcf29b Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sun, 1 Jun 2025 22:07:32 +0300 Subject: [PATCH 3/6] rofi-emoji: move to pkgs/by-name, use v4 --- pkgs/applications/misc/rofi-emoji/default.nix | 93 ------------------- .../applications/misc/rofi-emoji/versions.nix | 18 ---- .../0001-Patch-plugindir-to-output.patch | 0 pkgs/by-name/ro/rofi-emoji/package.nix | 86 +++++++++++++++++ pkgs/top-level/all-packages.nix | 2 - 5 files changed, 86 insertions(+), 113 deletions(-) delete mode 100644 pkgs/applications/misc/rofi-emoji/default.nix delete mode 100644 pkgs/applications/misc/rofi-emoji/versions.nix rename pkgs/{applications/misc => by-name/ro}/rofi-emoji/0001-Patch-plugindir-to-output.patch (100%) create mode 100644 pkgs/by-name/ro/rofi-emoji/package.nix diff --git a/pkgs/applications/misc/rofi-emoji/default.nix b/pkgs/applications/misc/rofi-emoji/default.nix deleted file mode 100644 index 520781f67cfcf..0000000000000 --- a/pkgs/applications/misc/rofi-emoji/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - makeWrapper, - - autoreconfHook, - pkg-config, - - waylandSupport ? true, - x11Support ? true, - - cairo, - glib, - libnotify, - rofi-unwrapped, - wl-clipboard, - xclip, - xdotool, - wtype, -}: - -import ./versions.nix ( - { - version, - hash, - patches, - }: - stdenv.mkDerivation rec { - pname = "rofi-emoji"; - inherit version; - - src = fetchFromGitHub { - owner = "Mange"; - repo = "rofi-emoji"; - rev = "v${version}"; - inherit hash; - }; - - inherit patches; - - postPatch = '' - patchShebangs clipboard-adapter.sh - ''; - - postFixup = '' - chmod +x $out/share/rofi-emoji/clipboard-adapter.sh - wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \ - --prefix PATH ":" ${ - lib.makeBinPath ( - [ libnotify ] - ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] - ++ lib.optionals x11Support [ - xclip - xdotool - ] - ) - } - ''; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - makeWrapper - ]; - - buildInputs = [ - cairo - glib - libnotify - rofi-unwrapped - ] - ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] - ++ lib.optionals x11Support [ xclip ]; - - meta = with lib; { - description = "Emoji selector plugin for Rofi"; - homepage = "https://github.com/Mange/rofi-emoji"; - license = licenses.mit; - maintainers = with maintainers; [ - cole-h - Mange - ]; - platforms = platforms.linux; - }; - } -) diff --git a/pkgs/applications/misc/rofi-emoji/versions.nix b/pkgs/applications/misc/rofi-emoji/versions.nix deleted file mode 100644 index 20b79d584634c..0000000000000 --- a/pkgs/applications/misc/rofi-emoji/versions.nix +++ /dev/null @@ -1,18 +0,0 @@ -generic: { - v4 = generic { - version = "4.0.0"; - hash = "sha256-864Mohxfc3EchBKtSNifxy8g8T8YBUQ/H7+8Ti6TiFo="; - patches = [ - # Look for plugin-related files in $out/lib/rofi - ./0001-Patch-plugindir-to-output.patch - ]; - }; - v3 = generic { - version = "3.4.1"; - hash = "sha256-ZHhgYytPB14zj2MS8kChRD+LTqXzHRrz7YIikuQD6i0="; - patches = [ - # Look for plugin-related files in $out/lib/rofi - ./0001-Patch-plugindir-to-output.patch - ]; - }; -} diff --git a/pkgs/applications/misc/rofi-emoji/0001-Patch-plugindir-to-output.patch b/pkgs/by-name/ro/rofi-emoji/0001-Patch-plugindir-to-output.patch similarity index 100% rename from pkgs/applications/misc/rofi-emoji/0001-Patch-plugindir-to-output.patch rename to pkgs/by-name/ro/rofi-emoji/0001-Patch-plugindir-to-output.patch diff --git a/pkgs/by-name/ro/rofi-emoji/package.nix b/pkgs/by-name/ro/rofi-emoji/package.nix new file mode 100644 index 0000000000000..07432f337d778 --- /dev/null +++ b/pkgs/by-name/ro/rofi-emoji/package.nix @@ -0,0 +1,86 @@ +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + + autoreconfHook, + pkg-config, + + cairo, + glib, + libnotify, + rofi-unwrapped, + + x11Support ? true, + xclip, + xdotool, + + waylandSupport ? true, + wl-clipboard, + wtype, +}: + +stdenv.mkDerivation (final: { + pname = "rofi-emoji"; + version = "4.0.0"; + + src = fetchFromGitHub { + owner = "Mange"; + repo = "rofi-emoji"; + rev = "v${final.version}"; + hash = "sha256-864Mohxfc3EchBKtSNifxy8g8T8YBUQ/H7+8Ti6TiFo="; + }; + + patches = [ + # Look for plugin-related files in $out/lib/rofi + ./0001-Patch-plugindir-to-output.patch + ]; + + postPatch = '' + patchShebangs --host clipboard-adapter.sh + ''; + + postFixup = '' + chmod +x $out/share/rofi-emoji/clipboard-adapter.sh + wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \ + --prefix PATH ":" ${ + lib.makeBinPath ( + [ + libnotify + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xclip + xdotool + ] + ) + } + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; + + buildInputs = [ + cairo + glib + rofi-unwrapped + ]; + + meta = { + description = "Emoji selector plugin for Rofi"; + homepage = "https://github.com/Mange/rofi-emoji"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + cole-h + Mange + ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4e0df15c24576..a4aac3ea1ac40 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11837,8 +11837,6 @@ with pkgs; withConplay = false; }; - rofi-emoji = (callPackage ../applications/misc/rofi-emoji { }).v3; - # a somewhat more maintained fork of ympd memento = qt6Packages.callPackage ../applications/video/memento { }; From e8b41122d1681017e2f6b1a4b10b1682d11957b5 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sat, 27 Sep 2025 19:53:08 +0300 Subject: [PATCH 4/6] rofi-emoji: remove explicit patchShebang-ing of clipboard-adapter.sh it's executable, so it gets patchShebang-ed in fixupPhase anyway --- pkgs/by-name/ro/rofi-emoji/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/ro/rofi-emoji/package.nix b/pkgs/by-name/ro/rofi-emoji/package.nix index 07432f337d778..12e7b1554cb65 100644 --- a/pkgs/by-name/ro/rofi-emoji/package.nix +++ b/pkgs/by-name/ro/rofi-emoji/package.nix @@ -37,12 +37,7 @@ stdenv.mkDerivation (final: { ./0001-Patch-plugindir-to-output.patch ]; - postPatch = '' - patchShebangs --host clipboard-adapter.sh - ''; - postFixup = '' - chmod +x $out/share/rofi-emoji/clipboard-adapter.sh wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \ --prefix PATH ":" ${ lib.makeBinPath ( From 559b28ce6ed0673f2f0a69d148a71e73af0ad420 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sun, 1 Jun 2025 23:52:08 +0300 Subject: [PATCH 5/6] rofi-emoji: add update script --- pkgs/by-name/ro/rofi-emoji/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/ro/rofi-emoji/package.nix b/pkgs/by-name/ro/rofi-emoji/package.nix index 12e7b1554cb65..ba348e52e5980 100644 --- a/pkgs/by-name/ro/rofi-emoji/package.nix +++ b/pkgs/by-name/ro/rofi-emoji/package.nix @@ -19,6 +19,8 @@ waylandSupport ? true, wl-clipboard, wtype, + + nix-update-script, }: stdenv.mkDerivation (final: { @@ -68,6 +70,8 @@ stdenv.mkDerivation (final: { rofi-unwrapped ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Emoji selector plugin for Rofi"; homepage = "https://github.com/Mange/rofi-emoji"; From 4e40d43c42991e5efd4af35f0a72303546a49308 Mon Sep 17 00:00:00 2001 From: Acid Bong Date: Sat, 27 Sep 2025 17:00:36 +0000 Subject: [PATCH 6/6] rofi-emoji: 4.0.0 -> 4.1.0 --- pkgs/by-name/ro/rofi-emoji/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ro/rofi-emoji/package.nix b/pkgs/by-name/ro/rofi-emoji/package.nix index ba348e52e5980..03ef3156716eb 100644 --- a/pkgs/by-name/ro/rofi-emoji/package.nix +++ b/pkgs/by-name/ro/rofi-emoji/package.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation (final: { pname = "rofi-emoji"; - version = "4.0.0"; + version = "4.1.0"; src = fetchFromGitHub { owner = "Mange"; repo = "rofi-emoji"; rev = "v${final.version}"; - hash = "sha256-864Mohxfc3EchBKtSNifxy8g8T8YBUQ/H7+8Ti6TiFo="; + hash = "sha256-Amaz+83mSPue+pjZq/pJiCxu5QczYvmJk6f96eraaK8="; }; patches = [