Replace nvm, apt, Homebrew, external Qt install and ad-hoc downloads with Nix package manager #7506
This PR introduces the Nix package manager and in the process:
Sorry for the size of the PR, but it is a big undertaking at the same time. I've tried to fixup commits as much as possible to keep them as focused as possible and get rid of noise/failed attempts.
Documentation updates are done in status-im/status.im#244.
The Nix scripts are structured as follows:
TODO list (as of 28.02.2019)
Review notes (optional):
Ideally, test this on your own machine - better to do it know and find any issues than to find out when this is on
There is a subtle change in how we do things with respect to .TOOLVERSIONS. So far we've been installing tools based on the versions listed in .TOOLVERSIONS. Since now the tool versions are decided by what is present in the Nixpkgs snapshot we're using, most of the tools in .TOOLVERSIONS can be delisted. They've only been kept so that we can build Docker images based on them.
Testing notes (optional):
We should give special attention to testing Status Desktop, especially on macOS Mavericks, since Nix normally targets SDK 10.10 instead of 10.9 as has been the case so far for us.
Click to see older builds (672)
Found a blocker for this PR. Although I can build Status Desktop for Windows, I can't build it for Linux:
Looks like that path is hardcoded in
As a parallel approach, I tried using the nix
UPDATE: looks like a known issue: NixOS/nixpkgs#25959. Tried installing the
So still some ways to go, I guess.