nix/graphical/password-manager.nix
2026-04-08 11:51:33 +10:00

30 lines
759 B
Nix

{ pkgs, lib, ... }:
let
rbwConfigDir = pkgs.runCommand "rbw-xdg" { } ''
mkdir -p $out/rbw
cp ${
(pkgs.formats.json { }).generate "rbw-config.json" {
email = "boss@atagen.co";
pinentry = lib.getExe pkgs.pinentry-qt;
base_url = "https://vault.lobotomise.me";
}
} $out/rbw/config.json
'';
rbwWrapped = pkgs.symlinkJoin {
name = "rbw";
paths = [ pkgs.rbw ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
for bin in $out/bin/rbw $out/bin/rbw-agent; do
[ -f "$bin" ] && wrapProgram "$bin" \
--set XDG_CONFIG_HOME "${rbwConfigDir}"
done
'';
};
in
{
apps = with pkgs; {
passwordManager = bitwarden-desktop;
passwordCli = rbwWrapped;
};
}