This is just about my checklist when I reinstall the software on my machine. Hope you have find this useful.
The most important thing is the folder named ~/.ssh where contains all my credentials to access to different servers. As you well know if you lost it, you have to re-generate keys and add them to Github, Gitlab, Bitbucket, etc.
Make sure all source code was backed up or pushed to the remote repository.
My favorite IDE is Visual Studio Code, and there are a lot of extensions was installed. All I need to do is backup the folder named .vscode in my home directory
~/.vscode. If you were using another IDE, you should find out where the configuration store then saves it.
I work with the terminal every day, so I have to backup the file named .zshrc and the folder named .oh-my-zsh, to avoid re-configuration the terminal and install a dozen of plugins.
Move all the backed up folder to the same path like before. So, now my Linux environment similar to the old one. Definitely, it saves my time.
Install the favorite apps. Here are my favorite applications, just focused on development.
- Ubuntu 18.10 (current)
- oh-my-zsh A delightful community-driven (with 1,200+ contributors) framework for managing your zsh configuration. Below is my favorite plugins:
plugins=( zsh-completions zsh-autosuggestions zsh-syntax-highlighting history-substring-search git docker docker-compose dotenv nvm httpie rsync yarn tmux node zsh-nvm helm composer minikube kubectl )
- vimrc — This configuration is the ultimate vimrc.
- vim-plug — Plugins management.
- vim languages pack
- vim syntax checker
- skaffold A command line tool that facilitates continuous development for Kubernetes applications.
- kompose Converts Docker Compose to Kubernetes.
- kubectl Command line interface for running commands against Kubernetes clusters.
- kubectx Fast way to switch between clusters and namespaces in kubectl.
- kubeval Validate your Kubernetes configuration files, supports multiple Kubernetes versions.
- dive A tool for exploring each layer in a docker image
- fd - A simple, fast and user-friendly alternative to 'find'.
- cheat.sh The only cheat sheet you need.
- httpie — Modern command line HTTP client — user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc.
- postman Postman Makes API Development Simple.
- ngrok or localtunnel Exposes your localhost to the world for easy testing and sharing.
- pet — Simple command-line snippet manager.
- tmux — Terminal multiplexer.
- tmux config — The best tmux configuration.
- mycli — A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
- json-server — Get a full fake REST API with zero coding in less than 30 seconds.
- vegeta HTTP load testing tool and library.
- mkcert A simple zero-config tool to make locally trusted development certificates with any names you'd like.
- doctoc Generates table of contents for markdown files.
If you got the following issue with ssh:
sign_and_send_pubkey signing failed agent refused operation
Run the following command to fix:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub