zsh/README.md

3.7 KiB

ZSH

My ZSH config

Your own customizations

If you want to make any customizations to your config without deleting them, or merging them, every time I update, here's the solution:

  • Make a file called custom-zshrc in your $HOME/zsh directory
  • Put your customizations in that file The file is in .gitignore, so it won't interfere with the repository and you can pull updates without resolving differences between local files and the repository. It is also set to be sourced in the zshrc file, so you really don't have to set up anything, just add the customizations.

Setup

  • Clone the repository to your home folder
cd ~
git clone --recursive https://gitea.stefka.eu/jiriks74/zsh
  • Link the zsh file to your home folder as .zshrc
ln -s ~/zsh/zshrc.zsh ~/.zshrc
  • Set the powerlevel10k theme the way you like it
zsh
  • If configuration won't start automatically, just run
p10k config
  • Set zsh as your default shell

There are two ways

Running chsh

chsch $USER
  • Input your password
  • Input /bin/zsh

Modifying /etc/passwd

  • Change your user in /etc/passwd to /bin/zsh instead of /bin/bash
  • Find line containing your username
  • Change the end of the line

From: ...:/bin/bash

To: ...:/bin/zsh

Updating

cd ~/zsh
git pull --recurse-submodules
git submodule update --init --recursive

Problems with updating (this will delete any customizations you have made in ~/zsh)

  • If you get fatal: refusing to merge unrelated histories you have changes in ~zsh that are not in the repository
  • If you have backed up your customizations (if you have any) this will delete all differences between ~/zsh and the repository
cd ~/zsh
git fetch
git reset --hard origin/master

Get Dependencies

Included in this repository

  • zsh-z - ZSH plugin that is alternative to autojump. Use z dirnameto go to a specific directory on your system without having to type the whole path (eg z et will get you to /etc)
  • dirhistory - Plugin from oh my zsh that allows you to easily go through history of directories (due to this not being a repository I have to update this plugin manually. If it's out of date, please create an issue)
  • ssh-connect - Plugin that logs your ssh commands and provides a nice menu with your recent connections (alias: sshc)
  • web-search - Allows you to DuckDuckGo, Google, etc. directly from your zsh. just run ddg or google
  • zsh-you-should-use - Usefull plugin that suggest existing aliases for a command you just ran (try it out with ls -l)
  • zsh-autosuggestions - Suggestions based on your history
  • git - Usefull git aliases
  • zsh-syntax-highlighting - Syntax highlighting for ZSH
  • powerlevel10k theme - The the actual theme

Install from your distribution's repository

  • thefuck - Corrects errors in previous console commands (when you mess up a command, type fuck)

Recomended for powerlevel10k

  • nerd-fonts - I recomend MesloLGS NF Regular
    • On Arch you can use ttf-meslo-nerd-font-powerlevel10k so you don't have to donwload the whole git repository¨¨