Skip to content

Instantly share code, notes, and snippets.

@andrey-zh
Last active April 13, 2022 13:05
Show Gist options
  • Save andrey-zh/d11f99db2c1a62b0fd672da350ae90c2 to your computer and use it in GitHub Desktop.
Save andrey-zh/d11f99db2c1a62b0fd672da350ae90c2 to your computer and use it in GitHub Desktop.
terminal setup
##### install brew #####
sudo apt-get update
sudo apt-get install build-essential -y
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
sleep 3
export PATH="/home/cloud_user/.local/opt/brew/bin:$PATH"
export PATH="/home/cloud_user/.local/opt/brew/sbin:$PATH"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/cloud_user/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
export PATH=$HOME/bin:/usr/local/bin:$PATH
sleep 5
brew install coreutils
##### install zsh #####
sudo apt-get install zsh -y
chsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
##### install vim plugins #####
curl -sS https://webinstall.dev/nerdfont | bash
export PATH="/home/cloud_user/.local/bin:$PATH"
curl -sS https://webinstall.dev/vim-nerdtree | bash
export PATH="/home/cloud_user/.local/bin:$PATH"
curl -sS https://webinstall.dev/myip | bash
export PATH="/home/cloud_user/.local/bin:$PATH"
curl -sS https://webinstall.dev/vim-prettier | bash
curl -sS https://webinstall.dev/vim-ale | bash
curl -sS https://webinstall.dev/vim-lastplace | bash
##### install pure theme #####
brew install pure
##### add syntax highlighting #####
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
##### change hostname #####
sudo hostname acloudguru
##### install antigen #####
brew install antigen
echo "source /home/linuxbrew/.linuxbrew/share/antigen/antigen.zsh" >> ~/.zshrc
##### add zsh autosuggestions #####
echo "antigen bundle zsh-users/zsh-autosuggestions" >> ~/.zshrc
source ~/.zshrc
##### install aws cli #####
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
#echo "autoload bashcompinit && bashcompinit
#autoload -Uz compinit && compinit" >> ~/.zshrc
#echo "complete -C '/usr/local/bin/aws_completer' aws" >> ~/.zshrc
#source ~/.zshrc
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
terraform -install-autocomplete
brew tap hashicorp/tap
brew install hashicorp/tap/vault
vault -autocomplete-install
brew tap hashicorp/tap
brew install hashicorp/tap/packer
packer -autocomplete-install
sudo apt-get install apt-transport-https ca-certificates gnupg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
brew install kubectl
kubectl version --client
echo "source <(kubectl completion zsh)" >> ~/.zshrc
source ~/.zshrc
brew install lsd
##### load config #####
echo '# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/Users/andrew/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME=""
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see "man strftime" for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-autosuggestions
docker
docker-compose
zsh-completions
zsh-syntax-highlighting
z
)
autoload -U compinit && compinit
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR="vim"
# else
# export EDITOR="mvim"
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias tree="lsd -AF --tree"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
fpath=(/opt/v/embedded/gems/2.2.18/gems/vagrant-2.2.18/contrib/zsh $fpath)
compinit
# pure theme
autoload -U promptinit; promptinit
prompt pure
# fuzzy search plugin
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export PATH="/usr/local/sbin:$PATH"
# VS code .
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
# terraform autocomplete
autoload -U +X bashcompinit && bashcompinit
autoload -Uz compinit && compinit
complete -o nospace -C /usr/local/bin/terraform terraform
# kubectl autocomlete
source <(kubectl completion zsh)
# packer autocomplete
complete -o nospace -C /usr/local/bin/packer packer
# aws autocomplete
autoload bashcompinit && bashcompinit
autoload -Uz compinit && compinit
complete -C "/usr/local/bin/aws_completer" aws
complete -o nospace -C /usr/local/bin/vault vault
# Generated for envman. Do not edit.
[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
' > ~/.zshrc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment