diff options
Diffstat (limited to 'pkgs/by-name/xp/xplr/package.nix')
-rw-r--r-- | pkgs/by-name/xp/xplr/package.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/by-name/xp/xplr/package.nix b/pkgs/by-name/xp/xplr/package.nix new file mode 100644 index 0000000000000..c4aa17a32a9c7 --- /dev/null +++ b/pkgs/by-name/xp/xplr/package.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "xplr"; + version = "0.21.3"; + + src = fetchFromGitHub { + owner = "sayanarijit"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-lqFhLCOLiuSQWhbcZUEj2xFRlZ+x1ZTVc8IJw7tJjhE="; + }; + + cargoHash = "sha256-3hrpg2cMvIuFy6mH1/1igIpU4nbzFQLCAhiIRZbTuaI="; + + # fixes `thread 'main' panicked at 'cannot find strip'` on x86_64-darwin + env = lib.optionalAttrs (stdenv.isx86_64 && stdenv.isDarwin) { + TARGET_STRIP = "${stdenv.cc.targetPrefix}strip"; + }; + + # error: linker `aarch64-linux-gnu-gcc` not found + postPatch = '' + rm .cargo/config + ''; + + postInstall = '' + mkdir -p $out/share/applications + cp assets/desktop/xplr.desktop $out/share/applications + + mkdir -p $out/share/icons/hicolor/scalable/apps + cp assets/icon/xplr.svg $out/share/icons/hicolor/scalable/apps + + for size in 16 32 64 128; do + icon_dir=$out/share/icons/hicolor/''${size}x$size/apps + mkdir -p $icon_dir + cp assets/icon/xplr$size.png $icon_dir/xplr.png + done + ''; + + meta = with lib; { + description = "A hackable, minimal, fast TUI file explorer"; + homepage = "https://xplr.dev"; + changelog = "https://github.com/sayanarijit/xplr/releases/tag/${src.rev}"; + license = licenses.mit; + maintainers = with maintainers; [ sayanarijit suryasr007 thehedgeh0g mimame figsoda ]; + }; +} |