This is how I set up Zsh personally. Maintaining my professional life inside the terminal is always a complex job since I switch between mac and linux environments. (wsl too). My life has turned into a daily ritual of shattering scripts.
I made an effort to maintain a productive workspace inside the terminal that adapted my cloud application development
If you're going to try this, please read the code. . Please don't hesitate to report any issues you come across. I'd be happy to assist you with that.
There aren't much,
zsh
. The scripts in this repo works only onzsh
shell.homebrew
. It acts as a single package manager in both linux and macos environment.
All the listed plugins and needed dependencies will get install on the first time of initialization
- https://github.com/zdharma-continuum/zinit - zsh plugin manger
- https://github.com/zsh-users/zsh-completions - power up the zsh auto completion
- https://github.com/zsh-users/zsh-autosuggestions - power up the zsh auto suggestion
- https://github.com/zsh-users/zsh-autosuggestions - power up the zsh auto suggestion
- https://github.com/MichaelAquilina/zsh-you-should-use - It will remind me when i forget an alias
- https://github.com/zdharma-continuum/fast-syntax-highlighting - highlight language syntaxes in terminal
- https://github.com/trapd00r/LS_COLORS Beautiful terminal colors for
ls
command - https://github.com/sharkdp/fd - find command alternative
- https://github.com/junegunn/fzf - awesome commandline fuzzy searcher
- https://github.com/Aloxaf/fzf-tab - fzf tab completion
- https://github.com/dandavison/delta - my favorite git diff tool.
- https://github.com/athityakumar/colorls - colorize my
ls
command output. It looks good with Nerd Fonts, so It will also gets installed. - https://github.com/direnv/direnv - Isolate the directory specific environment varaibles
- https://github.com/romkatv/powerlevel10k - High performance zsh prompt
- https://github.com/jamesob/desk - utility to manage mutiple shell scripts to perform various jobs. Aliased as
task
- https://github.com/molovo/revolver - Awesome spinner in zsh. I am not using it often.
- https://github.com/tj/git-extras - utility that empowers my git workflow
- https://github.com/k4rthik/git-cal - Github style calender in terminal. Just for fun.
- https://github.com/hariprasadraja/zsh-git-sync - It is an updated version of caarlos0-graveyard/zsh-git-sync. If will sync all your local branches with it's remote branch. It will also log error when sync fails and switch to next branch and does the sync again. I was working in multiple features/bugfixes such a capablity will aid you in speedy sync up with latest development.
- https://micro-editor.github.io/index.html - It is my favorite terminal text editor
- https://github.com/sharkdp/bat -
cat
command alternative to read files andless
command alternative as a pager. - https://github.com/gpakosz/.tmux - tmux configuration
- https://github.com/trystan2k/zsh-tab-title - auto change the terminal tab title based on the process and directory
- https://github.com/MikeDacre/careful_rm - enhanced
rm
command that safeguards from deleting precious files and folders - https://github.com/Czocher/gpg-crypt - gpg encryption and decription tool
- https://github.com/arzzen/git-quick-stats - git analytics
- https://github.com/paulirish/git-open - open the current branch in the browser. It works only for github
- https://github.com/aykamko/tag - enhancement of silver searcher
ag
to filter out and tag the search results - https://github.com/zpm-zsh/ssh - ssh autocompletion and support
- https://github.com/sivel/speedtest-cli - check the internet speed in terminal
- https://github.com/stedolan/jq - tool query the json like a database
- https://github.com/reegnz/jq-zsh-plugin - zsh plugin to support
jq
tool - https://github.com/client9/misspell - corrects the misspelled words
- https://github.com/Tarrasch/zsh-command-not-found - zsh command not found helper
- https://github.com/desyncr/auto-ls - auto
ls
into directory when you docd
orenter
- https://github.com/b4b4r07/emoji-cli - emoji completion on command line
-
Clone the Repo
git clone https://github.com/hariprasadraja/dotfiles.git ~/dotfiles
-
Source the zshrc.zsh into your
~/.zshrc
file
if [ -f ~/dotfiles/zshrc.zsh ]; then
source ~/dotfiles/zshrc.zsh
fi
-
bin/
- It has custom tools which comes with this repo and doesn't require any installation.
-
config/
- It has all the needed configurations for various packages and libraries installed
-
etc/
- additional static assets
-
machine/
- machine specific configuration. It is stored and processed localy.
- It will be created on the first time setup with
init.sh
file - Write your machine specific scripts in
init.sh
file.