(feat) Update dotfile scripts & tooling

- Update & split scripts
- Main package install script
- Fish / environment install script
- Dockerfile for testing locally
This commit is contained in:
2023-10-31 17:19:40 +01:00
parent 66fbc7eeab
commit 0456dba5d1
13 changed files with 203 additions and 104 deletions

72
2_fish_setup.sh Executable file
View File

@ -0,0 +1,72 @@
#!/bin/fish
set PYTHON_VERSION 3.11.6
set NODE_VERSION lts/hydrogen
# dont run as root/sudo
if [ "$EUID" -eq 0 ]
then echo "Please do not run as root / sudo"
exit 1
end
# install rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# install pyenv
git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
# install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# install fzf from source
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
bash ~/.fzf/install --no-update-rc --completion --key-bindings
# install fisher
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
# copy fish config
if test -f "~/.config/fish/functions/config.fish"; then
echo "config.fish already exist, please rename to continue."
exit 1
end
cp fish/config.fish ~/.config/fish/
# copy fishfile
if test -f "~/.config/fish/fish_plugins"; then
echo "fish_plugins already exist, please rename to continue."
exit 1
end
cp fish/fish_plugins ~/.config/fish/
# setup pyenv, cargo + local bin paths in fish
mkdir $HOME/.local/bin
set -Ux PYENV_ROOT $HOME/.pyenv
fish_add_path $PYENV_ROOT/bin
fish_add_path $HOME/.local/bin
fish_add_path $HOME/.cargo/bin
# install packages from fishfile
fisher update
cp -R fish/theme-t31m/functions/* ~/.config/fish/functions/
# install node via nvm
nvm install $NODE_VERSION
nvm alias default $NODE_VERSION
# Install Python
pyenv install $PYTHON_VERSION
# pip install --upgrade pip
# Install pipx for future non-user local packages
pipx ensurepath
# pipx completions
pipx completions
register-python-argcomplete --shell fish pipx >~/.config/fish/completions/pipx.fish
# cp vimrc
echo "Installing .vimrc"
cp dot.vimrc $HOME/.vimrc