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