Nix support improvements

Quick Start for BTC:

    $ git clone https://github.com/mmgen/mmgen-wallet
    $ cd mmgen-wallet
    $ nix-shell --pure nix

Enable altcoins and additional packages:

    $ mkdir -p ~/.mmgen
    $ cp nix/user-packages.nix ~/.mmgen
    # ... edit ~/.mmgen/user-packages.nix as required ...
    $ nix-shell --pure nix

For NixOS installation and other information, see:

    nix/README
This commit is contained in:
The MMGen Project 2025-01-03 14:23:20 +00:00
commit abbc9c843a
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
18 changed files with 199 additions and 130 deletions

30
nix/merged-packages.nix Normal file
View file

@ -0,0 +1,30 @@
{ add_pkgs_path }:
let
dfl_nixpkgs = import ./nixpkgs-24.05.nix {};
dfl_python = pkgs.python312;
null_pkgs = {
system-packages = {};
python-packages = {};
};
usr_pkgs_path = if builtins.pathExists ~/.mmgen/user-packages.nix then
~/.mmgen/user-packages.nix else ./user-packages.nix;
usr_pkgs = import usr_pkgs_path { pkgs = dfl_nixpkgs; python = dfl_python; bdir = ./.; };
pkgs = if usr_pkgs?pkgs then usr_pkgs.pkgs else dfl_nixpkgs;
python = if usr_pkgs?pkgs then usr_pkgs.python else dfl_python;
wallet_pkgs = import ./packages.nix { pkgs = pkgs; python = python; };
add_pkgs = if add_pkgs_path == null then null_pkgs else
(import add_pkgs_path { pkgs = pkgs; python = python; });
in
wallet_pkgs.system-packages //
add_pkgs.system-packages //
usr_pkgs.system-packages //
{
pyenv = python.withPackages (ps:
builtins.attrValues (
wallet_pkgs.python-packages //
add_pkgs.python-packages //
usr_pkgs.python-packages)
);
}