diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix index f291060a10f2..7da721e9f374 100644 --- a/pkgs/applications/misc/rofi/default.nix +++ b/pkgs/applications/misc/rofi/default.nix @@ -5,10 +5,10 @@ stdenv.mkDerivation rec { version = "1.5.1"; - name = "rofi-${version}"; + name = "rofi-unwrapped-${version}"; src = fetchurl { - url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.gz"; + url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/rofi-${version}.tar.gz"; sha256 = "1dc33zf33z38jcxb0lxpyd31waalpf6d4cd9z5f9m5qphdk1g679"; }; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { description = "Window switcher, run dialog and dmenu replacement"; homepage = https://davedavenport.github.io/rofi; license = licenses.mit; - maintainers = with maintainers; [ mbakke garbas ]; + maintainers = with maintainers; [ mbakke garbas ma27 ]; platforms = with platforms; unix; }; } diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix new file mode 100644 index 000000000000..44c6f892bf58 --- /dev/null +++ b/pkgs/applications/misc/rofi/wrapper.nix @@ -0,0 +1,17 @@ +{ stdenv, rofi-unwrapped, makeWrapper, theme ? null, lib }: + +stdenv.mkDerivation { + name = "rofi-${rofi-unwrapped.version}"; + buildInputs = [ makeWrapper ]; + preferLocalBuild = true; + passthru = { unwrapped = rofi-unwrapped; }; + buildCommand = '' + mkdir -p $out/bin + ln -s ${rofi-unwrapped}/bin/rofi $out/bin/rofi + ${lib.optionalString (theme != null) ''wrapProgram $out/bin/rofi --add-flags "-theme ${theme}"''} + ''; + + meta = rofi-unwrapped.meta // { + priority = (rofi-unwrapped.meta.priority or 0) - 1; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 073596951efa..bc8f5d4c98ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17497,7 +17497,8 @@ with pkgs; rkt = callPackage ../applications/virtualization/rkt { }; - rofi = callPackage ../applications/misc/rofi { }; + rofi-unwrapped = callPackage ../applications/misc/rofi { }; + rofi = callPackage ../applications/misc/rofi/wrapper.nix { }; rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };