I’m trying to get the azurevpnclient running on NixOS. They only have the client for Ubuntu. It can be found here: https://learn.microsoft.com/en-us/azure/vpn-gateway/point-to-site-entra-vpn-client-linux.
I’ve tried getting it to run, by following some of the steps described in this excellent Stack exchange post: Different methods to run a non-nixos executable on Nixos - Unix & Linux Stack Exchange.
I’ve downloaded the binary like this:
curl https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/m/microsoft-azurevpnclient/microsoft-azurevpnclient_3.0.0_amd64.deb --output microsoft-azurevpnclient_3.0.0_amd64.deb
I was trying to use, what was described as, the quickest way to get it up and running, using steam-run
.
So I dpkg the .deb file with the following:
pkg-deb -x microsoft-azurevpnclient_3.0.0_amd64.deb azurevpnclient
And then run it:
[nix-shell:~/Git/test]$ steam-run azurevpnclient/opt/microsoft/microsoft-azurevpnclient/microsoft-azurevpnclient
azurevpnclient/opt/microsoft/microsoft-azurevpnclient/microsoft-azurevpnclient: error while loading shared libraries: libflutter_secure_storage_linux_plugin.so: cannot open shared object file: No such file or directory
After seeing that, I also tried it with nix-ld
. Simply enabling it yielded the exact same error, so I tried looking for the necessary library, to add it to the nix-ld.libraries
.
I did this using:
[nix-shell:~]$ nix-locate libflutter_secure
spotube.out 172,880 r /nix/store/hv8lniqm6rhjigimiz8lrdrcfqs9hd58-spotube-3.8.3/share/spotube/lib/libflutter_secure_storage_linux_plugin.so
saber.out 190,120 x /nix/store/x9yndl7i82sk4jz824vyyma4ywfz6cp4-saber-0.25.2/app/saber/lib/libflutter_secure_storage_linux_plugin.so
ente-auth.out 182,744 x /nix/store/zwirjg9sclpxysg4k7rq40ll51b2h8ig-ente-auth-4.0.2/app/ente-auth/lib/libflutter_secure_storage_linux_plugin.so
butterfly.out 182,744 x /nix/store/hw76hl14bfmz581sxc4qig4nv0vrs9nw-butterfly-2.2.2/app/butterfly/lib/libflutter_secure_storage_linux_plugin.so
But, as far as I can tell, none of those are “providing the library”, but are simply apps using it.
I’m now not sure how to continue, since all other approaches I know (mostly the ones in the Stack Exchange post ) require me to find, and provide the libraries.
I’m not sure if I’m just doing something wrong, or I just haven’t found the right instructions yet.