feat: Improve bootstrap
This commit is contained in:
parent
b75c801a47
commit
d8a7adcdbb
@ -1,3 +1,7 @@
|
||||
# config-bootstrap
|
||||
|
||||
Just a script to easily setup my shell environment on new devices.
|
||||
|
||||
```
|
||||
git clone https://github.com/xlogerais/config-bootstrap.git ~/.bootstrap && cd ~/.bootstrap && bash bootstrap.bash
|
||||
```
|
||||
|
18
anyenv.bash
Normal file
18
anyenv.bash
Normal file
@ -0,0 +1,18 @@
|
||||
# # Anyenv
|
||||
#
|
||||
# git clone https://github.com/anyenv/anyenv.git ~/.anyenv
|
||||
# export PATH="$HOME/.anyenv/bin:$PATH"
|
||||
# yes | anyenv install --init
|
||||
#
|
||||
# eval "$(anyenv init -)"
|
||||
# git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
|
||||
# git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git
|
||||
#
|
||||
# # sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev
|
||||
# yes | anyenv install pyenv
|
||||
# eval "$(anyenv init -)"
|
||||
# git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
|
||||
#
|
||||
# # sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
|
||||
# yes | anyenv install rbenv
|
||||
# eval "$(anyenv init -)"
|
@ -1,76 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
|
||||
sudo apt install -y coreutils grep less tar tree
|
||||
sudo apt install -y man manpages-fr manpages-fr-extra
|
||||
sudo apt install -y bash zsh fish
|
||||
sudo apt install -y screen tmux
|
||||
sudo apt install -y openssh mosh
|
||||
sudo apt install -y vim git tig
|
||||
sudo apt install -y wget curl lftp fping mtr socat
|
||||
sudo apt install -y jq
|
||||
|
||||
# DIRS
|
||||
|
||||
mkdir ~/.bin
|
||||
mkdir -p ~/.local/share/fonts
|
||||
|
||||
# Configuration GIT
|
||||
|
||||
git config --global user.name "Xavier Logerais"
|
||||
git config --global user.email "xavier@logerais.com"
|
||||
|
||||
# Configuration BASH
|
||||
|
||||
git clone --recursive https://github.com/xlogerais/config-bash.git ~/.bash
|
||||
bash ~/.bash/create-links.bash
|
||||
|
||||
# Configuration VIM
|
||||
|
||||
git clone --recursive https://github.com/xlogerais/config-vim.git ~/.vim
|
||||
bash ~/.vim/create-links.bash
|
||||
|
||||
git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline
|
||||
git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/bundle/vim-airline-themes
|
||||
#git clone https://github.com/itchyny/lightline.vim ~/.vim/bundle/lightline
|
||||
|
||||
# Configuration SCREEN
|
||||
|
||||
git clone --recursive https://github.com/xlogerais/config-screen.git ~/.screen
|
||||
bash ~/.screen/create-links.bash
|
||||
|
||||
# Configuration TMUX
|
||||
|
||||
git clone --recursive https://github.com/xlogerais/config-tmux.git ~/.tmux
|
||||
bash ~/.tmux/create-links.bash
|
||||
|
||||
# FONTS
|
||||
#TODO# Download some fonts from Nerdfonts
|
||||
fc-cache --force --verbose ~/.local/share/fonts
|
||||
|
||||
# Powerline-go
|
||||
curl -sL https://api.github.com/repos/justjanne/powerline-go/releases/latest | jq -r '.assets[].browser_download_url | match(".*linux.*") | .string' | wget -i - -O ~/.bin/powerline-go && chmod +x ~/.bin/powerline-go
|
||||
|
||||
# Mcfly
|
||||
#TODO# Add instructions to install mcfly
|
||||
|
||||
# Anyenv
|
||||
|
||||
git clone https://github.com/anyenv/anyenv.git ~/.anyenv
|
||||
export PATH="$HOME/.anyenv/bin:$PATH"
|
||||
yes | anyenv install --init
|
||||
|
||||
eval "$(anyenv init -)"
|
||||
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
|
||||
git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git
|
||||
|
||||
# sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev
|
||||
yes | anyenv install pyenv
|
||||
eval "$(anyenv init -)"
|
||||
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
|
||||
|
||||
# sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
|
||||
yes | anyenv install rbenv
|
||||
eval "$(anyenv init -)"
|
6
bootstrap.bash
Normal file
6
bootstrap.bash
Normal file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
bash system-ubuntu.bash
|
||||
bash tools.bash
|
||||
bash fonts.bash
|
||||
bash config.bash
|
46
config.bash
Normal file
46
config.bash
Normal file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Configuration GIT
|
||||
|
||||
git config --global user.name "Xavier Logerais"
|
||||
git config --global user.email "xavier@logerais.com"
|
||||
|
||||
# Configuration BASH
|
||||
|
||||
if [[ ! -d ~/.bash ]]
|
||||
then
|
||||
git clone --recursive https://github.com/xlogerais/config-bash.git ~/.bash
|
||||
bash ~/.bash/create-links.bash
|
||||
fi
|
||||
|
||||
# Configuration VIM
|
||||
|
||||
if [[ ! -d ~/.vim ]]
|
||||
then
|
||||
git clone --recursive https://github.com/xlogerais/config-vim.git ~/.vim
|
||||
bash ~/.vim/create-links.bash
|
||||
fi
|
||||
|
||||
# Configuration NVIM
|
||||
|
||||
if [[ ! -d ~/.config/nvim ]]
|
||||
then
|
||||
git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim
|
||||
nvim +PackerSync
|
||||
fi
|
||||
|
||||
# Configuration SCREEN
|
||||
|
||||
if [[ ! -d ~/.screen ]]
|
||||
then
|
||||
git clone --recursive https://github.com/xlogerais/config-screen.git ~/.screen
|
||||
bash ~/.screen/create-links.bash
|
||||
fi
|
||||
|
||||
# Configuration TMUX
|
||||
|
||||
if [[ ! -d ~/.tmux ]]
|
||||
then
|
||||
git clone --recursive https://github.com/xlogerais/config-tmux.git ~/.tmux
|
||||
bash ~/.tmux/create-links.bash
|
||||
fi
|
21
fonts.bash
Normal file
21
fonts.bash
Normal file
@ -0,0 +1,21 @@
|
||||
# FONTS
|
||||
|
||||
fontdir="$HOME/.local/share/fonts"
|
||||
|
||||
declare -a fonts
|
||||
fonts+=("Inconsolata")
|
||||
fonts+=("Ubuntu")
|
||||
fonts+=("Hack")
|
||||
fonts+=("DejaVuSansMono")
|
||||
|
||||
# Create font dir
|
||||
test -d "${fontdir}" || mkdir -p "${fontdir}"
|
||||
|
||||
# Download fonts
|
||||
for font in "${fonts[@]}"
|
||||
do
|
||||
wget -q -O /tmp/${font}.zip "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${font}.zip" && cd ${fontdir} && unzip -u /tmp/${font}.zip && rm /tmp/${font}.zip
|
||||
done
|
||||
|
||||
# Refresh cache
|
||||
fc-cache --force --verbose ${fontdir}
|
15
system-ubuntu.bash
Normal file
15
system-ubuntu.bash
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ( grep -q Ubuntu <(lsb_release -i) )
|
||||
then
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
|
||||
sudo apt install -y coreutils grep less tar tree
|
||||
sudo apt install -y man manpages-fr manpages-fr-extra
|
||||
sudo apt install -y bash zsh fish
|
||||
sudo apt install -y screen tmux
|
||||
sudo apt install -y openssh mosh
|
||||
sudo apt install -y vim git #tig
|
||||
sudo apt install -y wget curl lftp fping mtr socat
|
||||
fi
|
43
tools.bash
Normal file
43
tools.bash
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Install asdf
|
||||
|
||||
test -d $HOME/.asdf || git clone https://github.com/asdf-vm/asdf.git $HOME/.asdf
|
||||
source $HOME/.asdf/asdf.sh
|
||||
source $HOME/.asdf/completions/asdf.bash
|
||||
|
||||
# Install plugins and tools
|
||||
|
||||
declare -a tools
|
||||
|
||||
tools+=(shellcheck)
|
||||
tools+=(direnv)
|
||||
tools+=(lazygit)
|
||||
tools+=(jq yq)
|
||||
tools+=(kubectl helm k9s)
|
||||
tools+=(vault)
|
||||
tools+=(terraform terragrunt)
|
||||
|
||||
for tool in "${tools[@]}"
|
||||
do
|
||||
echo
|
||||
echo "-- Installing ${tool}"
|
||||
asdf plugin add ${tool}
|
||||
asdf install ${tool} latest
|
||||
asdf global ${tool} latest
|
||||
done
|
||||
|
||||
# Powerline-go
|
||||
echo
|
||||
echo "-- Installing powerline-go"
|
||||
asdf plugin add justjanne-powerline-go git@plmlab.math.cnrs.fr:plmteam/common/asdf/justjanne/asdf-justjanne-powerline-go.git
|
||||
asdf install justjanne-powerline-go latest
|
||||
asdf global justjanne-powerline-go latest
|
||||
|
||||
|
||||
# Mcfly
|
||||
echo
|
||||
echo "-- Installing mcfly"
|
||||
asdf plugin add mcfly https://github.com/barolab/asdf-mcfly.git
|
||||
asdf install mcfly latest
|
||||
asdf global mcfly latest
|
Loading…
x
Reference in New Issue
Block a user