init.sh
is used to initialize many kinds of Ubuntu 20 instances including
WSL, vagrant, or server instances(AWS EC3, Vultr.com server, etc). It installs
necessary dependencies and applications.
By default, the scripts won't set up my personal configurations and private
keys unless the environment variable EVA
is set.
[EVA=] ./init.sh <command>
For instance, if I create a new server from any cloud service provider, all I need to do is to run
./init.sh server
and enter the password if needed, then I'm all set.
If I want to install docker
on the machine, I'll do
./init.sh docker
If I want to set up the /etc/sudoers
file so that I won't need to enter the
passwd to run sudo
, I'll do
./init.sh config_sudo
However, if I want to set default shell to zsh
and import my configuration
for oh-my-zsh
and spacemacs
, I'll do
EVA= ./init.sh config_terminal
All <command>
are defined by the scripts within src
folder and are declared
within the type of bash functions.
server
- AWS EC2 instance or other ubuntu server. Installbasic
.sa_server
- Servers that I didn't havesudo
permission.wsl
- reinstallopenssh-server
and set up ssh listening port onport 2233
.vagrant
- similar to howserver
is set up. Set up ssh listening port onport 2233
.
basic
- install all development environments and necessary terminal utils, includingzsh
,build-essential
,python
, etc.docker
- follows the official document to install docker
Note that only config_sudo
runs without the environment variable $EVA
set
since they all import my personal configurations
config_sudo
- makesudo
not need to enter passwordconfig_git
- add git configuration and addgithub.com
toauthorized_keys
config_terminal
- configurezsh
,emacs
, and clone this repo to~/.eva
config_vim
- add vim configuration and download dependenciesconfig_server
- addid_rsa.pub
toauthorized_keys
config_wsl
- set up wsl according to WSL-CLion