Walletwasabi: [Feature Request] Add Nix package

Created on 18 Aug 2019  路  6Comments  路  Source: zkSNACKs/WalletWasabi

Is your feature request related to a problem? Please describe.

See also historical issues: #413 #726 #1179

This issue does not describe a problem, but rather a feature that would add utility to Wasabi by allowing it to be installed in a wider range of environments.

Describe the solution you'd like

Creating a Nix package for Wasabi would allow NixOS users like myself to easily install Wasabi, and would also make it easy to integrate Wasabi with projects like https://github.com/fort-nix/nix-bitcoin.

Ideally, a .nix expression describing how to install Wasabi would be added to the main Wasabi repo, and from there could be upstreamed in https://github.com/nixos/nixpkgs, which would make it as easy to install from Nix as e.g Electrum is currently:

$ nix-env -i electrum
installing electrum-3.3.8
building /nix/store/hsixm68g8hqa6pj1jxdil6s3v5rfb6gb-user-environment.drv...
created 750 symlinks in user environment

Describe alternatives you've considered

I realize based on the history (#413 #726 #1179) that maintaining another packaging solution for a presumably small niche case might not be attractive to the Wasabi project, but I wanted to file this issue anyway for the following reasons:

  • make it known that I for one would like this feature
  • have a place where others who are also interested in Nix packaging of Wasabi can coordinate work
  • have a clear point of reference for the desirability (or not) of adding Nix packaging to the Wasabi repo itself from the point of view of the maintainers
  • make it known that I can contribute work myself and/or list myself as a maintainer for an upstream package (similar to what I did when adding upstream coldcard packaging, although as in that case, of course I'd be happy to let Wasabi maintainers also maintain the Nix package too, if they want to)
featurenhancement

Most helpful comment

I just noticed that there actually is a wasabiwallet package in Nix, maintained by @mmahut with SatoshiLabs):

Apologies for not noticing earlier; the latest stable release of NixOS (19.03) does not have the package, but on master the package is available.

Closing this issue.

All 6 comments

I made a quick attempt to write a .nix expression for installing Wasabi, and made some progress in fetching the sources and installing the dotnet environment needed for compilation, but the cd WalletWasabi.Gui && dotnet run command currently fails with the following:

NuGet.targets(114,5):
  error : Unable to load the service index for source https://api.nuget.org/v3/index.json.
  [/build/source/WalletWasabi.Gui/WalletWasabi.Gui.csproj]

Fetching that URL (https://api.nuget.org/v3/index.json) works fine from a shell, so it's possible there's something in the Nix build environment that doesn't allow sending HTTP requests, or something..

There's also some buildDotnetPackage helpers (used e.g here which might be easier to use than trying to fiddle with environment variables and doing dotnet run ourselves in installPhase, but I wanted to post this as a marker for myself / posterity, so I can remember where I left this. :)

Concept ACK, I do think that nix has a couple interesting security features, and imho it's worth to checkout and see how we can utilize it properly.

thanks @hkjn for opening the issue, and for already starting the WIP PR! [The beauty of libre software!!]

May I ping @jonasnick and @nixbitcoin, I know you have been thinking about adding Wasabi to your setup, so this might be interesting and helpful for you.

FYI, Wasabi already has deterministic builds.

Concept NACK for the time being from me. Our userbase does not justify the technical debt. IMO we should support only the most common formats of getting the software, everything else is a source of unreliability, noise and requires manual testing, which is developer time consuming enough already.

https://www.somsubhra.com/github-release-stats/?username=zksnacks&repository=WalletWasabi

836  - Non Debian based Linux
1880 - Debian based Linux
2579 - OSX
5622 - Windows

image

Concept NACK for the time being from me. Our userbase does not justify the technical debt.

Thanks for the feedback, and for the concrete user numbers on non-debian based Linux installs. As I mentioned in the issue's description, I totally understand that maintaining another packaging solution might not be attractive to the Wasabi project, so while I'll still pursue writing a Wasabi Nix package (it would be useful for me, as it's hard to use Wasabi on my laptop otherwise), I won't submit a PR to add it to this repo.

I can check if either the https://github.com/fort-nix/nix-bitcoin project or upstream https://github.com/nixos/nixpkgs can be a home for such a package, and I can list myself as a maintainer for the package, which can remain unofficial / unsupported by the Wasabi project for now.

Feel free to close this issue or otherwise deal with it however you please.

Hi @hkjn,
At this stage it is enough to have this issue here. So if someone interested will have an entry point.

I just noticed that there actually is a wasabiwallet package in Nix, maintained by @mmahut with SatoshiLabs):

Apologies for not noticing earlier; the latest stable release of NixOS (19.03) does not have the package, but on master the package is available.

Closing this issue.

Was this page helpful?
0 / 5 - 0 ratings