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