Would anyone have any insight on installing the Proton Drive CLI? I’m running NixOS 26.05 with Gnome 50.
In a Debian 13 virtual machine with Gnome 48, I can download the latest linux/x64 binary, and it works fine within that virtual machine.
When I download and try to use the same binary within NixOS, however, I get this error
12 | let raw;
13 | try {
14 | raw = await Bun.secrets.get({ service: CREDENTIALS_SERVICE, name: CREDENTIALS_NAME });
15 | } catch (error: unknown) {
16 | const message = error instanceof Error ? error.message : String(error);
17 | throw new ValidationError(
^
ValidationError: Failed to load session from secrets (ensure you have secrets available, read the README for more information): libsecret not available
code: undefined,
details: {
cause: error: libsecret not available
code: "ERR_SECRETS_PLATFORM_ERROR"
,
},
at load (src/credentials/secretCredentialsStore.ts:17:19)
at async load (src/credentials/credentials.ts:62:38)
at async loadSession (../incubating/account/js/src/auth.ts:31:32)
at async SY (../incubating/account/js/src/index.ts:46:16)
at async IY (src/api/index.ts:37:15)
at async TP (src/init.ts:34:67)
at async oSe (src/cli/repl.ts:10:27)
at async aSe (src/cli/index.ts:27:15)
Under NixOS, gnome-keyring shows as installed at /run/current-system/sw/bin/gnome-keyring.
Thanks so much for your help!
P.S.: I’ve also made a start at a declarative installation for the Proton Drive CLI. I’m including it below for completeness. But when I do protondrive, I get output like I did bun --help with protondrive’s included bun dependency. So, I figure it’s better to sort out the binary download error first and then see if that resolves the declarative build issue.
Hi @jdavidstark. I’m fairly new to NixOS so please take my advice with several grains of salt, yet my first inclination would be to ensure that libsecret, libnotify or any other external link library dependencies that enable optional features you would like to use have been added to the buildInputs = [...] attribute of your derivation, so that the Proton Drive executable might find them at runtime within the same closure searched via the dynamic linker.
Thanks, I’m fairly new too. gnome-keyring and seahorse are installed, which should mean that libsecret is also (e.g., seahorse). But even the straight binary download from a browser fails with an error like the one above or `Failed to load session from secrets (ensure you have secrets available, read the README for more information): libsecret not available`.
I’ve tried several ways to incorporate libsecret in the build process but am so far still getting essentially the same kinds of errors. So, I’m clearly continuing to miss something.
Generally, if something isn’t packaged in nixpkgs yet, it’s a good idea to search for any PRs by someone who has already done some of the packaging work.
Anyhow, that PR does this:
Indeed. Thanks for the suggestion. Thought I had done that, but will definitely do so more carefully next time around and will watch that PR for developments. In the meantime, this works perfectly (as referenced in the PR you mentioned), including for the current version (0.9.0). Thanks so much!