nix/shell.nix: add repo param, mount links

This commit is contained in:
The MMGen Project 2025-01-04 10:26:47 +03:00
commit 51900851c4
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
2 changed files with 13 additions and 6 deletions

View file

@ -1 +1 @@
15.1.dev9 15.1.dev10

View file

@ -1,6 +1,9 @@
# Nix shell environment for mmgen-wallet # Nix shell environment for mmgen-wallet
{ add_pkgs_path ? null }: {
repo ? "mmgen-wallet",
add_pkgs_path ? null
}:
let let
pkgs = import <nixpkgs> {}; pkgs = import <nixpkgs> {};
@ -9,23 +12,27 @@ in
pkgs.mkShellNoCC { pkgs.mkShellNoCC {
packages = builtins.attrValues (import ./merged-packages.nix { add_pkgs_path = add_pkgs_path; }); packages = builtins.attrValues (import ./merged-packages.nix { add_pkgs_path = add_pkgs_path; });
shellHook = '' shellHook = ''
do_sudo_override() { do_bin_override() {
( (
rm -rf .bin-override rm -rf .bin-override
mkdir .bin-override mkdir .bin-override
cd .bin-override cd .bin-override
if [ -x /bin/sudo ]; then if [ -x /bin/sudo ]; then
ln -s /bin/sudo ln -s /bin/sudo
ln -s /bin/mount
ln -s /bin/umount
elif [ -x /run/wrappers/bin/sudo ]; then elif [ -x /run/wrappers/bin/sudo ]; then
ln -s /run/wrappers/bin/sudo ln -s /run/wrappers/bin/sudo
ln -s /run/wrappers/bin/mount
ln -s /run/wrappers/bin/umount
fi fi
) )
} }
read _ _ name <<<$(grep ^name setup.cfg) read _ _ name <<<$(grep ^name setup.cfg)
[[ "$name" =~ ^mmgen-(wallet|node-tools)$ ]] || { [ "$name" == "${repo}" ] || {
echo "Error: this script must be executed in the mmgen-wallet or mmgen-node-tools repository root" echo "Error: this script must be executed in the ${repo} repository root"
exit 1 exit 1
} }
@ -33,6 +40,6 @@ pkgs.mkShellNoCC {
export PYTHONPATH=$pwd export PYTHONPATH=$pwd
export PATH=$pwd/cmds:$pwd/.bin-override:$HOME/.local/bin:$PATH export PATH=$pwd/cmds:$pwd/.bin-override:$HOME/.local/bin:$PATH
[ "$UID" == 0 ] || do_sudo_override [ "$UID" == 0 ] || do_bin_override
''; '';
} }