Below are applications I install first thing on a new Mac. They have become a part of all my Macs and they are the first things I install on a new Mac
- Chrome - Personal browsing
- Arc - Corporate browsing
- Google Drive - My personal documents sync
- pCloud - Misc sync
- Copy ssh keys into .ssh folder and test using https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection
- (If using dotfiles) Backup .zshrc other files and migrate dotfiles - https://www.atlassian.com/git/tutorials/dotfiles
- Homebrew - package manager
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- iterm2 - terminal (For Linux use Terminator)
brew cask install iterm2
- Press
⌘,
under the “General” tab uncheck “Native full screen windows. - In the “Profiles” tab select “Window” and then change the style to “Fullscreen.” This tells iTerm to open new windows in fullscreen mode. I hate the full screen animation, which can be disabled by disabling Native full screen checkbox in Settings->General->Windows
- Optionally, set the transparency and blur effects. I find enabling a little transparency helps me remember what’s on the desktop, while blur effect prevents desktop text from obfuscating the terminal’s output.
- Finally, in the “Keys” tab enable the system-wide show/hide hotkey. I use ⌘i (the mnemonic being i = iTerm). This conflicts with the italics shortcut in some apps, but that’s a tradeoff I can live with.
- Add keyboard shortcuts.
Preferences→Profiles→Keys
- First click “+” to add a new shortcut.
- ⌘← (jump to beginning of line) Set the appropriate action: Send Hex Codes Enter the Hex codes: 0x01
- ⌥←Delete (delete previous word) Set the appropriate action: Send Hex Codes Enter Hex codes: 0x1B 0x08
- ⌘→ (jump to end of line) Set the appropriate action: Send Hex Codes Enter Hex codes: 0x05
- ⌥← (jump to previous word) Set the appropriate action: Send Escape sequence Enter Escape Sequence: b
- ⌥→ (jump to next word) Set the appropriate action: Send Escape sequence Enter Escape Sequence: f
- ⌘←Delete (delete line) Set the appropriate action: Send Hex codes Enter Hex codes: 0x015
- ⌘z (undo) Set the appropriate action: Send Hex codes Enter Hex codes: 0x1f
- Set name of profile by adding badge for specific profile based on kubernetes cluster
- Set working directory of profile as
Reuse previous session's directory
- Import profiles using
import json profiles
- Set unlimited scrollback in terminal tab
- Set shortcut key for each profile for easy switching
- OhMyZsh - terminal utility
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Powerlevel10k - theme for Zsh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc
- Vim Plug - Vim plugin manager
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- edit
~/.vimrc
call plug#begin('~/.vim/plugged') Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' call plug#end()
- Now reopen Vim and type in :PlugInstall and hit Enter
- Install fonts
$ git clone https://github.com/powerline/fonts.git --depth=1 $ cd fonts $ ./install.sh $ cd .. $ rm -rf fonts
- edit ~/.vimrc and add the following line
let g:airline_powerline_fonts = 1
- edit
- fzf - fuzzy search history of commands and files
brew install fzf
- Add below lines in
~/.vimrc
betweenplug#begin('~/.vim/plugged')
andplug#end()
" On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " Plugin outside ~/.vim/plugged with post-update hook Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
- Edit
~/.zshrc
to add plugin inplugins=(git)
asplugins=(git fzf)
- Edit
~/.zshrc
add[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
if not exists - Close reopen terminal and type
^r
and it should show previous command fuzzy search
- tree -
brew install tree
for directory listing - sdk - for installing and maintaining java versions -
curl -s "https://get.sdkman.io" | bash
- pyenv - for installing and maintaining java versions -
brew update; brew install pyenv
- Install python 3.8.5+
- kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
- Edit
~/.zshrc
add kubectl toplugins=(git fzf)
asplugins=(git fzf kubectl)
- Edit
- fd -
brew install fd
- Edit
~/.zshrc
add below lines
export FZF_DEFAULT_COMMAND='fd --type f'
- Edit
- rg -
brew install ripgrep
- git-fuzzy
git clone https://github.com/bigH/git-fuzzy.git # add the executable to your path echo "export PATH=\"$(pwd)/git-fuzzy/bin:\$PATH\"" >> ~/.zshrc
- git shortcuts
- Copy files (functions.sh and key-binding.zsh) from https://gist.github.com/junegunn/8b572b8d4b5eddd8b85e5f4d40f17236 to
~/Scripts
- Edit
~/.zshrc
add
source ~/Scripts/functions.sh source ~/Scripts/key-binding.zsh
- Copy files (functions.sh and key-binding.zsh) from https://gist.github.com/junegunn/8b572b8d4b5eddd8b85e5f4d40f17236 to
- Keepassxc
- Windows movement hotkeys
- Lepton -
brew install --cask lepton
- Intellij
- Pycharm
- Docker Desktop
- Sublime Text3
- Kubectl aliases
- AWS cli v2
- Install : https://awscli.amazonaws.com/AWSCLIV2.pkg
- Add below
sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
- Edit
~/.zshrc
add aws toplugins=(git fzf kubectl)
asplugins=(aws git fzf kubectl)