8f46c02426
- /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_5-install-homebrew.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_8-install-zx.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/_universal/run_onchange_before_5-install-homebrew.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/_universal/run_onchange_before_8-install-zx.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_before_20-ensure-user-group.tmpl - /.local/share/chezmoi/home/.chezmoitemplates/darwin/Brewfile
64 lines
No EOL
1.6 KiB
Bash
64 lines
No EOL
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
{{- if (ne .host.distro.family "windows") }}
|
|
|
|
{{- includeTemplate "universal/profile" }}
|
|
{{- includeTemplate "universal/logg" }}
|
|
|
|
### Ensure node is installed
|
|
if ! command -v node > /dev/null; then
|
|
if command -v brew; then
|
|
logg 'Installing `node` via Homebrew'
|
|
brew install node
|
|
else
|
|
logg '`brew` is unavailable. Cannot use it to perform a system installation of node.'
|
|
fi
|
|
else
|
|
logg '`node` is available'
|
|
fi
|
|
|
|
### Ensure volta is installed
|
|
if ! command -v volta > /dev/null; then
|
|
if command -v brew > /dev/null; then
|
|
logg 'Installing `volta` via `brew`'
|
|
brew install volta
|
|
fi
|
|
if [ -z "$VOLTA_HOME" ]; then
|
|
volta setup
|
|
fi
|
|
if [ -f "$HOME/.bashrc" ]; then
|
|
. "$HOME/.bashrc"
|
|
else
|
|
logg warn 'Could not find `~/.bashrc` to source the results of `volta setup` from'
|
|
fi
|
|
export PATH="$VOLTA_HOME/bin:$PATH"
|
|
logg 'Installing `node` via `volta`'
|
|
volta install node
|
|
else
|
|
if ! node --version > /dev/null; then
|
|
volta install node
|
|
fi
|
|
fi
|
|
|
|
### Ensure zx is installed
|
|
if ! command -v zx > /dev/null; then
|
|
if command -v volta > /dev/null; then
|
|
logg 'Installing `zx` via `volta`'
|
|
volta install zx
|
|
else
|
|
logg '`volta` is missing'
|
|
fi
|
|
else
|
|
logg '`zx` is already installed'
|
|
fi
|
|
|
|
### Ensure recent version of Node.js is being used
|
|
if command -v volta > /dev/null; then
|
|
if ! test "$(node --version | sed 's/^v//' | awk '{print $1}' | awk -F'.' ' ( $1 > 15) ')"; then
|
|
volta install node@latest
|
|
else
|
|
logg info 'Node.js appears to meet the minimum version requirements'
|
|
fi
|
|
else
|
|
logg warn 'Volta is not installed'
|
|
fi
|
|
{{ end -}} |