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 onzshshell.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
lscommand - 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
lscommand 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 -
catcommand alternative to read files andlesscommand 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
rmcommand 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
agto 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
jqtool - 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
lsinto directory when you docdorenter - 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
~/.zshrcfile
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.shfile - Write your machine specific scripts in
init.shfile.
