[feat] add run scripts
This commit is contained in:
parent
2c9f2134cf
commit
279d90df27
@ -12,16 +12,19 @@
|
||||
{{- $gitUser = promptString "gitUser" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $jsLinter := promptString "jsLinter" "js linter standard,eslint" -}}
|
||||
{{- $jsLinter := promptString "jsLinter" "standard" -}}
|
||||
{{- if eq $jsLinter "" -}}
|
||||
{{- $jsLinter = "standard" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $jsFixer := promptString "jsFixer" "js fixer standard,prettier" -}}
|
||||
{{- $jsFixer := promptString "jsFixer" "standard" -}}
|
||||
{{- if eq $jsFixer "" -}}
|
||||
{{- $jsFixer = "standard" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $installGo := promptBool "installGo" true -}}
|
||||
{{- $installNode := promptBool "installNode" true -}}
|
||||
|
||||
[data.gitconfig]
|
||||
email = {{ $email | quote }}
|
||||
username = {{ $gitUser | quote }}
|
||||
@ -29,3 +32,7 @@
|
||||
[data.nvim]
|
||||
js_linter = {{ $jsLinter | quote }}
|
||||
js_fixer = {{ $jsFixer | quote }}
|
||||
|
||||
[data.dev]
|
||||
golang = {{ $installGo }}
|
||||
nodejs = {{ $installNode }}
|
||||
|
14
.chezmoiscripts/run_after_20_install_vim_dep.sh
Normal file
14
.chezmoiscripts/run_after_20_install_vim_dep.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
PATH="$HOME/apps/go/bin:$HOME/apps/node/bin:$PATH"
|
||||
|
||||
if command -v npm > /dev/null; then
|
||||
npm i -g typescript typescript-language-server jsctags dockerfile-language-server-nodejs
|
||||
fi
|
||||
|
||||
if command -v go > /dev/null; then
|
||||
go install github.com/sourcegraph/go-langserver@latest
|
||||
go install github.com/jstemmer/gotags@latest
|
||||
go install github.com/cweill/gotests/gotests@latest
|
||||
fi
|
||||
|
24
.chezmoiscripts/run_before_10_check.sh
Normal file
24
.chezmoiscripts/run_before_10_check.sh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
readonly wanted_packages=(
|
||||
git
|
||||
svn
|
||||
zsh
|
||||
nvim
|
||||
tmux
|
||||
curl
|
||||
wget
|
||||
)
|
||||
|
||||
missing_packages=()
|
||||
|
||||
for package in "${wanted_packages[@]}"; do
|
||||
if ! command -v "${package}" > /dev/null ; then
|
||||
missing_packages+=("${package}")
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#missing_packages[@]} -gt 0 ]]; then
|
||||
>&2 echo "missing packages ${missing_packages[*]}"
|
||||
exit 1
|
||||
fi
|
109
.chezmoiscripts/run_before_20_install_dev_lang.sh.tmpl
Normal file
109
.chezmoiscripts/run_before_20_install_dev_lang.sh.tmpl
Normal file
@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
GO_VERSION="1.20.1"
|
||||
NODE_VERSION="18.14.2"
|
||||
|
||||
ARCH="{{ .chezmoi.arch }}"
|
||||
OSTYPE="{{ .chezmoi.os }}"
|
||||
|
||||
if [ ! -d "$HOME/apps" ]; then
|
||||
if ! mkdir -p "$HOME/apps" ; then
|
||||
>&2 echo "make directory failed"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
function install_golang {
|
||||
local tmpDir=$(mktemp -d)
|
||||
local url="https://go.dev/dl/go$GO_VERSION.$OSTYPE-$ARCH.tar.gz"
|
||||
|
||||
# download
|
||||
if ! wget -O "$tmpDir/go.tar.gz" "$url" ; then
|
||||
rm -rf "$tmpDir"
|
||||
>&2 echo "download golang binary failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! tar zxf "$tmpDir/go.tar.gz" -C "$tmpDir" ;then
|
||||
rm -rf "$tmpDir"
|
||||
>&2 echo "untar golang binary failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
mv "$tmpDir/go" "$HOME/apps/go-${GO_VERSION}"
|
||||
|
||||
ln -sf "$HOME/apps/go-${GO_VERSION}" "$HOME/apps/go"
|
||||
|
||||
rm -rf "$tmpDir"
|
||||
}
|
||||
|
||||
function install_nodejs {
|
||||
local tmpDir=$(mktemp -d)
|
||||
|
||||
local arch=""
|
||||
|
||||
case "$ARCH" in
|
||||
"amd64")
|
||||
arch="x64"
|
||||
;;
|
||||
"arm64")
|
||||
arch="arm64"
|
||||
;;
|
||||
*)
|
||||
>&2 echo "arch ($ARCH) not support"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
local url="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-${OSTYPE}-${arch}.tar.xz"
|
||||
|
||||
if ! wget -O "$tmpDir/node.tar.xz" "$url" ; then
|
||||
rm -rf "$tmpDir"
|
||||
>&2 echo "download nodejs binary failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! tar xJf "$tmpDir/node.tar.xz" -C "$tmpDir" ; then
|
||||
rm -rf "$tmpDir"
|
||||
>&2 echo "untar nodejs binary failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
dirs=$(find "$tmpDir" -type d -mindepth 1 -maxdepth 1 -name 'node*')
|
||||
|
||||
mv "$dirs" "$HOME/apps/node-v${NODE_VERSION}"
|
||||
|
||||
ln -sf "$HOME/apps/node-v${NODE_VERSION}" "$HOME/apps/node"
|
||||
|
||||
rm -rf "$tmpDir"
|
||||
}
|
||||
|
||||
function install_rust {
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --profile default -y
|
||||
}
|
||||
|
||||
{{ if .dev.golang }}
|
||||
echo "start install golang ${GO_VERSION}..."
|
||||
if ! install_golang ; then
|
||||
>&2 echo "install golang failed"
|
||||
exit 1
|
||||
fi
|
||||
{{ end }}
|
||||
|
||||
{{ if .dev.nodejs }}
|
||||
echo "start install nodejs v${NODE_VERSION}..."
|
||||
if ! install_nodejs ; then
|
||||
>&2 echo "install nodejs failed"
|
||||
exit 1
|
||||
fi
|
||||
{{ end }}
|
||||
|
||||
{{ if .dev.rust }}
|
||||
echo "start install rust..."
|
||||
if ! install_rust ; then
|
||||
>&2 echo "install rust failed"
|
||||
exit 1
|
||||
fi
|
||||
{{ end }}
|
6
.chezmoiscripts/run_once_after_10_install_zinit.sh
Normal file
6
.chezmoiscripts/run_once_after_10_install_zinit.sh
Normal file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ! git clone https://github.com/zdharma-continuum/zinit.git ~/.zinit/bin; then
|
||||
>&2 echo "clone zinit into ~/.zinit/bin failed"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user