/proveasio

Provision (and maintain) your dev terminal easily.

Primary LanguageShellMIT LicenseMIT

CI build License Last commit

TL;DR

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.

Features

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.

    Example: Terminal commandline

  • 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:

    • ripgrep - much faster grep. Also used from within VIM to grep for text.
    • fd - faster find command
    • bat - prettier cat with syntax highlight, line numbers etc.
    • yq - YAML parser
    • htop - better top
    • jq - JSON parser
  • Languages support (with version management):

    • Python
    • Go
    • Ruby
    • JAVA
    • Groovy
    • NodeJS
    • Puppet
    • Ansible
    • Rust

Installation and usage

For detailed instructions see documentation

Troubleshooting

See Troubleshooting

Contributing

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!

Author

Eryk 'Ziwi' Kozakiewicz

Mentions