|
|
@@ -88,13 +88,15 @@ done
|
|
|
|
[[ ! -e "$ROOT/.zprofile" ]] || fail "easyzsh should not ship a managed .zprofile"
|
|
|
|
[[ ! -e "$ROOT/.zprofile" ]] || fail "easyzsh should not ship a managed .zprofile"
|
|
|
|
[[ -f "$ROOT/zsh/fnm.zsh" ]] || fail "always-on fnm fragment is missing"
|
|
|
|
[[ -f "$ROOT/zsh/fnm.zsh" ]] || fail "always-on fnm fragment is missing"
|
|
|
|
[[ ! -e "$ROOT/zshrc/fnm.zsh" ]] || fail "legacy interactive fnm fragment still exists"
|
|
|
|
[[ ! -e "$ROOT/zshrc/fnm.zsh" ]] || fail "legacy interactive fnm fragment still exists"
|
|
|
|
|
|
|
|
[[ -f "$ROOT/zsh/pyenv.zsh" ]] || fail "always-on pyenv fragment is missing"
|
|
|
|
|
|
|
|
[[ ! -e "$ROOT/zshrc/pyenv.zsh" ]] || fail "legacy interactive pyenv fragment still exists"
|
|
|
|
|
|
|
|
|
|
|
|
grep -q 'NVM_VERSION="v0.40.4"' "$ROOT/install_nvm.sh" || fail "nvm version is stale"
|
|
|
|
grep -q 'NVM_VERSION="v0.40.4"' "$ROOT/install_nvm.sh" || fail "nvm version is stale"
|
|
|
|
grep -q 'apt-get install -y unzip' "$ROOT/install_fnm.sh" || fail "Ubuntu unzip installation is missing"
|
|
|
|
grep -q 'apt-get install -y unzip' "$ROOT/install_fnm.sh" || fail "Ubuntu unzip installation is missing"
|
|
|
|
grep -q 'tail -1 || true' "$ROOT/install_merlin_worker.sh" || fail "a missing PYTHONPATH remains fatal"
|
|
|
|
grep -q 'tail -1 || true' "$ROOT/install_merlin_worker.sh" || fail "a missing PYTHONPATH remains fatal"
|
|
|
|
grep -Fq 'mktemp "$HOME/.zshrc.download.' "$ROOT/install.sh" || fail ".zshrc is not downloaded on its target filesystem"
|
|
|
|
grep -Fq 'mktemp "$HOME/.zshrc.download.' "$ROOT/install.sh" || fail ".zshrc is not downloaded on its target filesystem"
|
|
|
|
grep -Fq 'mktemp "$HOME/.zshenv.download.' "$ROOT/install.sh" || fail ".zshenv is not downloaded on its target filesystem"
|
|
|
|
grep -Fq 'mktemp "$HOME/.zshenv.download.' "$ROOT/install.sh" || fail ".zshenv is not downloaded on its target filesystem"
|
|
|
|
grep -Fq 'mktemp "$HOME/.config/.easyzsh-' "$ROOT/patch.sh" || fail "patch downloads can be sourced while incomplete"
|
|
|
|
grep -Fq 'mktemp "$(dirname "$destination")/.easyzsh-' "$ROOT/patch.sh" || fail "patch downloads can be sourced while incomplete"
|
|
|
|
grep -Fq '"$ZSH_CONFIGS_DIR"/*(DN)' "$ROOT/.zshrc" || fail "existing extensionless Zsh configs are ignored"
|
|
|
|
grep -Fq '"$ZSH_CONFIGS_DIR"/*(DN)' "$ROOT/.zshrc" || fail "existing extensionless Zsh configs are ignored"
|
|
|
|
grep -Fq '_resolve_trash_cmd' "$ROOT/.zshrc" || fail "trash-backed rm helper is missing"
|
|
|
|
grep -Fq '_resolve_trash_cmd' "$ROOT/.zshrc" || fail "trash-backed rm helper is missing"
|
|
|
|
grep -Fq 'libglib2.0-bin' "$ROOT/install.sh" || fail "Ubuntu Trash support is not installed"
|
|
|
|
grep -Fq 'libglib2.0-bin' "$ROOT/install.sh" || fail "Ubuntu Trash support is not installed"
|
|
|
@@ -114,6 +116,7 @@ grep -Fq '$HOME/.local/bin' "$ROOT/.zshenv" || fail "~/.local/bin is not added i
|
|
|
|
grep -Fq 'local.zsh' "$ROOT/.zshenv" || fail "local.zsh is not sourced from .zshenv"
|
|
|
|
grep -Fq 'local.zsh' "$ROOT/.zshenv" || fail "local.zsh is not sourced from .zshenv"
|
|
|
|
grep -Fq 'ZSH_ALWAYS_ON_DIR' "$ROOT/.zshenv" || fail "always-on ~/.config/zsh/*.zsh glob is missing from .zshenv"
|
|
|
|
grep -Fq 'ZSH_ALWAYS_ON_DIR' "$ROOT/.zshenv" || fail "always-on ~/.config/zsh/*.zsh glob is missing from .zshenv"
|
|
|
|
grep -Fq 'zsh/fnm' "$ROOT/install_fnm.sh" || fail "install_fnm.sh does not patch always-on zsh/fnm"
|
|
|
|
grep -Fq 'zsh/fnm' "$ROOT/install_fnm.sh" || fail "install_fnm.sh does not patch always-on zsh/fnm"
|
|
|
|
|
|
|
|
grep -Fq 'zsh/pyenv' "$ROOT/install_pyenv.sh" || fail "install_pyenv.sh does not patch always-on zsh/pyenv"
|
|
|
|
if grep -Fq 'brew shellenv' "$ROOT/.zshrc"; then
|
|
|
|
if grep -Fq 'brew shellenv' "$ROOT/.zshrc"; then
|
|
|
|
fail "Homebrew still initializes from interactive-only .zshrc"
|
|
|
|
fail "Homebrew still initializes from interactive-only .zshrc"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@@ -160,6 +163,16 @@ HOME="$fnm_env_home" PATH=/usr/bin:/bin \
|
|
|
|
zsh -c 'command -v fnm >/dev/null' ||
|
|
|
|
zsh -c 'command -v fnm >/dev/null' ||
|
|
|
|
fail "always-on fnm is not available to non-interactive zsh via .zshenv"
|
|
|
|
fail "always-on fnm is not available to non-interactive zsh via .zshenv"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Non-interactive zsh must resolve pyenv's global Python via .zshenv.
|
|
|
|
|
|
|
|
pyenv_env_home="$TEMP_DIR/pyenv-env-home"
|
|
|
|
|
|
|
|
mkdir -p "$pyenv_env_home/.pyenv/shims" "$pyenv_env_home/.config/zsh"
|
|
|
|
|
|
|
|
ln -s /usr/bin/true "$pyenv_env_home/.pyenv/shims/python3"
|
|
|
|
|
|
|
|
cp "$ROOT/zsh/pyenv.zsh" "$pyenv_env_home/.config/zsh/pyenv.zsh"
|
|
|
|
|
|
|
|
HOME="$pyenv_env_home" bash "$ROOT/deploy.sh" --home "$pyenv_env_home" >/dev/null
|
|
|
|
|
|
|
|
HOME="$pyenv_env_home" PYENV_ROOT="$pyenv_env_home/.pyenv" PATH=/usr/bin:/bin \
|
|
|
|
|
|
|
|
zsh -c '[[ "$(command -v python3)" == "$HOME/.pyenv/shims/python3" ]]' ||
|
|
|
|
|
|
|
|
fail "pyenv Python is not available to non-interactive zsh via .zshenv"
|
|
|
|
|
|
|
|
|
|
|
|
# patch.sh path form installs into ~/.config/zsh/
|
|
|
|
# patch.sh path form installs into ~/.config/zsh/
|
|
|
|
path_patch_home="$TEMP_DIR/path-patch-home"
|
|
|
|
path_patch_home="$TEMP_DIR/path-patch-home"
|
|
|
|
path_bin="$TEMP_DIR/path-bin"
|
|
|
|
path_bin="$TEMP_DIR/path-bin"
|
|
|
@@ -180,8 +193,9 @@ printf '%s\n' '# patched-fnm' >"$out"
|
|
|
|
CURL
|
|
|
|
CURL
|
|
|
|
chmod +x "$path_bin/curl"
|
|
|
|
chmod +x "$path_bin/curl"
|
|
|
|
# Prefer real coreutils for mktemp/mkdir used by patch.sh
|
|
|
|
# Prefer real coreutils for mktemp/mkdir used by patch.sh
|
|
|
|
HOME="$path_patch_home" PATH="$path_bin:/usr/bin:/bin" bash "$ROOT/patch.sh" zsh/fnm >/dev/null
|
|
|
|
HOME="$path_patch_home" XDG_CONFIG_HOME="$path_patch_home/xdg" PATH="$path_bin:/usr/bin:/bin" \
|
|
|
|
grep -Fxq '# patched-fnm' "$path_patch_home/.config/zsh/fnm.zsh" ||
|
|
|
|
bash "$ROOT/patch.sh" zsh/fnm >/dev/null
|
|
|
|
|
|
|
|
grep -Fxq '# patched-fnm' "$path_patch_home/xdg/zsh/fnm.zsh" ||
|
|
|
|
fail "patch.sh zsh/fnm did not install ~/.config/zsh/fnm.zsh"
|
|
|
|
fail "patch.sh zsh/fnm did not install ~/.config/zsh/fnm.zsh"
|
|
|
|
|
|
|
|
|
|
|
|
echo "installer checks passed"
|
|
|
|
echo "installer checks passed"
|
|
|
|