I solved the problem by applying a Nix overlay:
final: prev: {
obsidian = prev.obsidian.overrideAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ prev.makeWrapper ];
postFixup = (old.postFixup or "") + ''
wrapProgram $out/bin/obsidian \
--add-flags "--password-store=gnome-libsecret"
'';
});
}
This seems to be an upstream Electron issue, not Obsidian.