Skip to content

Instantly share code, notes, and snippets.

@roymanigley
Last active October 1, 2023 19:35
Show Gist options
  • Save roymanigley/384459fa98070398bb095db582aa59e3 to your computer and use it in GitHub Desktop.
Save roymanigley/384459fa98070398bb095db582aa59e3 to your computer and use it in GitHub Desktop.
Setup after Endever OS installation
#!/bin/bash
echo "[+] SETUP STARTED"
echo "[+] SET VARIABLES"
NVM_VERSION=v0.39.3
JETBRAINS_TOOLBOX_VERSION=1.28.1.15219
JAVA_VERSION=21-open
GIT_USERNAME=royman
GIT_EMAIL='roy.manigley@gmail.com'
echo "[+] INSTALL PACKAGES"
sudo pacman -Syu zsh \
gvim \
nvim \
git \
meld \
docker \
docker-compose \
xclip \
chromium \
--noconfirm
echo "[+] SETUP GIT"
git config --global core.editor vim
git config --global user.email "$GIT_EMAIL"
git config --global user.name $GIT_USERNAME
git config --global merge.tool meld
git config --global mergetool.prompt false
git config --global diff.tool meld
git config --global difftool.prompt false
echo "[+] SETUP DOCKER"
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl enable docker
sudo systemctl start docker
echo "[+] INSTALL ZSH"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
echo "[+] ADAPT .zshrc"
sed 's/^ZSH_THEME.\+/ZSH_THEME="agnoster"/g' -i ~/.zshrc
echo "alias c='xclip -selection clipboard'" >> ~/.zshrc
echo "[+] INSTALL NVM"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash
echo "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \\. \"\$NVM_DIR/nvm.sh\" # This loads nvm
[ -s \"\$NVM_DIR/bash_completion\" ] && \\. \"\$NVM_DIR/bash_completion\" # This loads nvm bash_completion
" >> ~/.zshrc
echo "[+] INSTALL NPM & NODE"
zsh -c "nvm install --latest-npm"
zsh -c "nvm install node"
echo "[+] INSTALL SDKMAN"
curl -s "https://get.sdkman.io" | bash
zsh -c "source $HOME/.sdkman/bin/sdkman-init.sh"
echo "[+] INSTALL JAVA"
zsh -c "sdk install java $JAVA_VERSION"
echo "[+] INSTALL JETBRAINS-TOOLBOX"
wget https://download-cdn.jetbrains.com/toolbox/jetbrains-toolbox-$JETBRAINS_TOOLBOX_VERSION.tar.gz -O /tmp/toolbox.tar.gz
tar xvf /tmp/toolbox.tar.gz
mkdir ~/jetbrains
mv jetbrains-toolbox* ~/jetbrains
jetbrains/jetbrains-toolbox*/jetbrains-toolbox
echo "[+] SETUP VIM"
echo "[+] INSTALL PLUG"
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
echo "[+] CREATE VIMRC"
echo "set nocompatible
syntax on
filetype plugin on
set rnu
filetype plugin indent on
\" show existing tab with 4 spaces width
set tabstop=4
\" when indenting with '>', use 4 spaces width
set shiftwidth=4
\" On pressing tab, insert 4 spaces
set expandtab
set clipboard=unnamedplus
call plug#begin()
Plug 'tpope/vim-commentary'
Plug 'preservim/nerdtree'
call plug#end()
nnoremap <C-e> :NERDTreeToggle<CR>
nnoremap <C-q> :qa<CR>
inoremap <C-q> <ESC>:qa<CR>
nnoremap <C-d> :q<CR>
inoremap <C-d> <ESC>:q<CR>
nnoremap <C-s> :w<CR>
inoremap <C-s> <ESC>:w<CR>:startinsert<CR><Right>
nnoremap Y \"+y
vnoremap Y \"+y
nnoremap yY ^\"+y\$
nnoremap P \"+P
nnoremap p \"+p
inoremap <C-Space> <C-n>
" > ~/.vimrc
vim -c ":PlugInstall" +qa
echo "[+] SETUP NEOVIM"
mkrid -p $HOME/.config/nvim
wget https://gist.github.com/roymanigley/0987234b8cf5f7ea53b191abe17094c6 -O $HOME/.config/nvim/init.lua
echo "[+] INSTALL PYENV"
curl https://pyenv.run | bash
echo "
export PYENV_ROOT=\"\$HOME/.pyenv\"
command -v pyenv >/dev/null || export PATH=\"\$PYENV_ROOT/bin:\$PATH\"
eval \"\$(pyenv init -)\"
" >> $HOME/.profile
echo "eval \"\$(pyenv virtualenv-init -)\"" >> $HOME/.zshrc
echo "[+] SETUP COMPLETED"
echo "[+] restart your machine that all canges will be applyed"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment