{ 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; }; }