The script and config files in this folder allow you to quickly set up your Ubuntu installation with a reasonable developer configuration. Tested for Ubuntu 18.04 LTS. Most of the offered functionality also tested for Ubuntu 20.04 LTS, see section Compatibility.
I suggest cloning this repository to ~/.dotfiles, though any other location will work as well. Just make sure to not move the folder after you started relying on the dotfiles in it.
git clone https://github.com/cbachhuber/dotfiles-and-post-installation-scripts.git ~/.dotfilesExecute script setup.sh in the toplevel folder of this repository
.dotfiles/setup.shYou will be asked to enter your sudo password for the apt operations.
By default, setup.sh will work through all setup steps such a OS tweaks, program installation, git configuration etc. If you only want select a subset of these steps, use the below flags. As soon as a flag is given, the other steps are not implicitly executed, they need to be called explicitly per flag as well.
- Flag
-oor--os-tweakswalks you through OS tweaking steps such as key repeat adjustment and configuration of gnome shell extensions. - Flag
-por--programsinstalls programs such as chromium, vlc, gimp, and dev tools such as python3, terminator, git, and zsh. - Flag
-gor--configure-gitguides you through common git configuration steps such as setting up your git user name and mail, git pager, global excludesFile, and git aliases. - Flag
-vor--configure-vimguides you through common neovim configuration steps such as sourcing~/.zshrcand installing essential plugins such as vim-fugitive, vim-airline, and vim-nerdtree. - Flag
-zor--configure-zshguides you through common zsh and oh-my-zsh configuration steps such as setting zsh as your default shell and installing oh-my-zsh plugins such as Powerlevel 10k and zsh-autosuggestions. - Flag
-hor--helpdisplays a help menu and exits the script.
| OS Tweaks | Programs | Git | Vim | ZSH | |
|---|---|---|---|---|---|
| Ubuntu 18.04 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Ubuntu 20.04 | ❓ | ❓ | ✔️ | ✔️ | ✔️ |