Skip to content

Instantly share code, notes, and snippets.

@pablopunk
Last active May 13, 2025 16:42
Show Gist options
  • Save pablopunk/a35b1b18aebc9db2427875ec395111c9 to your computer and use it in GitHub Desktop.
Save pablopunk/a35b1b18aebc9db2427875ec395111c9 to your computer and use it in GitHub Desktop.
Blazing fast zsh/vim experience for a brand new linux server

If you use an apt-based distro, just copy-paste the script code into your server terminal, or use curl:

curl -fsSL https://gist.githubusercontent.com/pablopunk/a35b1b18aebc9db2427875ec395111c9/raw/0a4a38ad7661acc4ba43115da36c959e1fa70a43/a_better_linux_shell.sh | bash -s

For other distros, just manually install these: curl, git, zsh and vim and copy-paste everything after the apt setup.

CleanShot 2025-03-24 at 14 02 37

echo "Installing requirements"
sudo apt install -y curl git zsh vim neovim
echo "Setting up zsh as default shell"
chsh -s "$(which zsh)"
echo "Installing zim"
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
if [ ! -f ~/.vimrc ]; then
echo "Installing pablopunk's minimal vimrc"
curl https://raw.githubusercontent.com/pablopunk/dotfiles/refs/heads/main/modules/cli/vim/vimrc -o ~/.vimrc
else
echo "~/.vimrc already exists, skipping..."
fi
echo "Final touches"
if [ -z "$LANG" ]; then
cat <<EOF >> ~/.zshrc
TERM=xterm-256color
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
alias vim=nvim
alias vi=vim
EOF
fi
echo "Starting zsh"
zsh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment