From ec187e65c0298645c8ce139e79f648500abbd5f0 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Wed, 13 Nov 2024 16:08:15 +0100 Subject: [PATCH] Add zen-browser-bin package --- overlay.nix | 4 +++ packages/x86_64-linux/zen-browser-bin.nix | 32 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 packages/x86_64-linux/zen-browser-bin.nix diff --git a/overlay.nix b/overlay.nix index 63eed4c..88159df 100644 --- a/overlay.nix +++ b/overlay.nix @@ -114,6 +114,10 @@ let lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration CoreServices ]) ) ++ (with final; [ libiconv ]); }; + + zen-browser-bin = final.callPackage ./packages/x86_64-linux/zen-browser-bin.nix { + nativeMessagingHosts = with final; [ kdePackages.plasma-browser-integration ]; + }; }; overlay-rust-is-dumb = final: prev: { diff --git a/packages/x86_64-linux/zen-browser-bin.nix b/packages/x86_64-linux/zen-browser-bin.nix new file mode 100644 index 0000000..33c7633 --- /dev/null +++ b/packages/x86_64-linux/zen-browser-bin.nix @@ -0,0 +1,32 @@ +{ appimageTools, fetchurl, nativeMessagingHosts, ... }: +let + pname = "zen-browser-bin"; + version = "1.0.1-a.19"; + src = fetchurl { + url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen-specific.AppImage"; + hash = "sha256-qAPZ4VyVmeZLRfL0kPHF75zyrSUFHKQUSUcpYKs3jk8="; + }; + + appimageContents = appimageTools.extract { + inherit pname version src; + }; + +in +appimageTools.wrapType2 { + inherit pname version src; + + extraInstallCommands = '' + mv $out/bin/${pname} $out/bin/zen + install -m 444 -D ${appimageContents}/zen.desktop $out/share/applications/zen.desktop + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/128x128/apps/zen.png \ + $out/share/icons/hicolor/128x128/apps/zen.png + + mkdir -p $out/lib/mozilla/native-messaging-hosts + for ext in ${toString nativeMessagingHosts}; do + ln -sLt $out/lib/mozilla/native-messaging-hosts $ext/lib/mozilla/native-messaging-hosts/* + done + ''; + + meta.mainProgram = "zen"; +} +