shell.nix 916 B

12345678910111213141516171819202122232425262728293031323334
  1. # Nix shell environment for mmgen-wallet
  2. let
  3. pkgs = import <nixpkgs> {};
  4. in
  5. pkgs.mkShellNoCC {
  6. packages = builtins.attrValues (import ./packages.nix);
  7. shellHook = ''
  8. do_sudo_override() {
  9. (
  10. rm -rf .bin-override
  11. mkdir .bin-override
  12. cd .bin-override
  13. if [ -x /bin/sudo ]; then
  14. ln -s /bin/sudo
  15. elif [ -x /run/wrappers/bin/sudo ]; then
  16. ln -s /run/wrappers/bin/sudo
  17. fi
  18. )
  19. }
  20. [ "$(python3 ./setup.py --name 2>/dev/null)" == "mmgen-wallet" ] || {
  21. echo "Error: this script must be executed in the mmgen-wallet repository root"
  22. exit 1
  23. }
  24. pwd=$(pwd)
  25. export PYTHONPATH=$pwd
  26. export PATH=$pwd/cmds:$pwd/.bin-override:$PATH
  27. [ "$UID" == 0 ] || do_sudo_override
  28. '';
  29. }