Prepare your Ubuntu terminal dev environment with one command (well, sort of). Become terminal power-user in no time.
Install, configure and maintain Ubuntu 24.04/22.04 terminal environment focused on development and administration. This includes installation/configuration of very useful dev tools and customizations to ease out and speed up terminal usage during day-to-day work and to bump up productivity.
Below project is supported on Ubuntu running on Windows WSL2, but it is also tested on Ubuntu 22.04/24.04 images.
Below you can find brief summary of included tools and features. For more details see documentation. For usage scenarios with examples (screenshots, videos), see Usage.
-
Zsh Terminal with Oh-my-ZSH framework, with powerlevel10k theme. It features e.g syntax higlighting, autocompletion, history search with FZF, aliases autosuggestion, easy directory traverse and more.
-
TMUX (Terminal multiplexer) - easily divide your terminal, create new windows, sessions, projects.
-
GIT improvements and integrations:
- LazyGIT GUI
- pretty diff formatting
ls
with GIT status- new git commands and aliases
- grouping GIT repos and bulk executing commands on them
-
DevOps tools:
- Docker with docker-compose
- kubectl - manage kubernetes cluster
- KinD - Kubernetes in docker - create a cluster locally
- k9s - Terminal GUI for managing kubernetes clusters
- Helm - Kubernetes package manager
- Terraform - infrastructure as code tool
- Terragrunt - wrapper for Terraform to deal with multiple environments
- Azure CLI - CLI interface for Azure management
- AWS CLI - CLI interface to interact with AWS
-
Neovim replaces VIM. By default uses custom configured AstroNvim IDE for Neovim, which makes VIM fully functional, feature-rich IDE. You can also use your own config/modifications
-
Useful software:
-
Languages support (with version management):
- Python
- Go
- Ruby
- JAVA
- Groovy
- NodeJS
- Puppet
- Ansible
- Rust
For detailed instructions see documentation
See Troubleshooting
If you want to help with this piece of software: fork it, create a branch, make changes, test it (preferably including Github workflow for Ubuntu 22.04) and open a Pull Request. You can see TODO for ideas :)
Thanks in advance!
Eryk 'Ziwi' Kozakiewicz
- Windows setup was inspired and mostly based on lholota/dev-setup by Lukas Holota
- SDKMan! installation was deeply based on Comcast/sdkman by Elliot Weiser