From c54fa3c517db5e8e309aadf08ce81d6887c01701 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Wed, 23 Apr 2025 17:31:21 +1000 Subject: [PATCH] rin/packages: add bitwarden-desktop --- overlays/bitwarden-desktop.nix | 19 +++++++++++++++++++ overlays/default.nix | 1 + .../firefox-native-messaging-host.json | 7 +++++++ users/rin/packages.nix | 1 + 4 files changed, 28 insertions(+) create mode 100644 overlays/bitwarden-desktop.nix create mode 100644 overlays/patches/firefox-native-messaging-host.json diff --git a/overlays/bitwarden-desktop.nix b/overlays/bitwarden-desktop.nix new file mode 100644 index 0000000..2d7be24 --- /dev/null +++ b/overlays/bitwarden-desktop.nix @@ -0,0 +1,19 @@ +# https://github.com/NixOS/nixpkgs/pull/374068 +self: super: { + bitwarden-desktop = super.bitwarden-desktop.overrideAttrs (o: { + preBuild = o.preBuild + '' + pushd apps/desktop/desktop_native/proxy + cargo build --offline --bin desktop_proxy --release + popd + ''; + installPhase = builtins.replaceStrings ["runHook preInstall"] ['' + runHook preInstall + + install -Dm755 -t $out/bin apps/desktop/desktop_native/target/release/desktop_proxy + + mkdir -p $out/lib/mozilla/native-messaging-hosts + substituteAll ${./patches/firefox-native-messaging-host.json} $out/lib/mozilla/native-messaging-hosts/com.8bit.bitwarden.json + + ''] o.installPhase; + }); +} diff --git a/overlays/default.nix b/overlays/default.nix index d8f5dbd..d6cc660 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,5 +1,6 @@ builtins.map (path: import path) [ ./android-studio.nix + ./bitwarden-desktop.nix ./cascadia-code.nix ./ccache.nix ./eww.nix diff --git a/overlays/patches/firefox-native-messaging-host.json b/overlays/patches/firefox-native-messaging-host.json new file mode 100644 index 0000000..e9f5f99 --- /dev/null +++ b/overlays/patches/firefox-native-messaging-host.json @@ -0,0 +1,7 @@ +{ + "name": "com.8bit.bitwarden", + "description": "Bitwarden desktop <-> browser bridge", + "path": "@out@/bin/desktop_proxy", + "type": "stdio", + "allowed_extensions": ["{446900e4-71c2-419f-a6a7-df9c091e268b}"] +} diff --git a/users/rin/packages.nix b/users/rin/packages.nix index 67bcb3b..56f02a3 100644 --- a/users/rin/packages.nix +++ b/users/rin/packages.nix @@ -27,6 +27,7 @@ in { nodePackages_latest.pnpm ] ++ lib.optionals config.me.gui [ android-studio + bitwarden-desktop ciscoPacketTracer8 drawio element-desktop