2020-06-07 16:09:57 +02:00
# ZSH
My ZSH config
2020-02-12 17:40:45 -06:00
## Setup
2020-10-09 20:44:19 +02:00
- Clone the repository to your home folder
2020-10-09 21:12:41 +02:00
```
2022-01-09 13:02:19 +01:00
cd ~
2020-10-09 21:12:41 +02:00
git clone --recursive https://github.com/jiriks74/zsh
```
2022-01-09 14:41:10 +01:00
## Updating
```
cd ~/zsh
git pull --recurse-submodules
2022-01-09 18:15:59 +01:00
git submodule update --init --recursive
2022-01-09 14:41:10 +01:00
```
2022-01-09 18:31:41 +01:00
### 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
```
2020-10-09 21:04:56 +02:00
### `powerlevel10k` theme
- Link the `zsh` file to your home folder as `.zshrc`
2020-10-09 21:12:41 +02:00
```
ln -s ~/zsh/zshrc ~/.zshrc
```
2020-10-09 21:04:56 +02:00
- Set the `powerlevel10k` theme the way you like it
2020-10-09 21:12:41 +02:00
```
2020-10-09 21:50:55 +02:00
zsh
2020-10-09 23:18:43 +02:00
```
- If configuration won't start automatically, just run
```
2020-10-09 21:12:41 +02:00
p10k config
```
2020-10-09 21:04:56 +02:00
### `pure` shell theme
- Link the `zsh.pure` file to your home folder as `.zshrc`
2020-10-09 21:12:41 +02:00
```
ln -s ~/zsh/zshrc.pure ~/.zsh
```
2020-06-07 16:09:57 +02:00
2022-01-09 14:35:29 +01:00
## Get Dependencies
2020-08-31 08:44:29 -05:00
2020-10-09 20:44:19 +02:00
### Included in this repository
2022-01-09 13:02:19 +01:00
- [`zsh-z` ](https://github.com/agkozak/zsh-z ) - ZSH plugin that is alternative to `autojump` . Use `z dirname` to go to a specific directory on your system without having to type the whole path (eg `z et` will get you to `/etc` )
- [`dirhistory` ](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/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` ](https://github.com/gko/ssh-connect ) - Plugin that logs your `ssh` commands and provides a nice menu with your recent connections (alias: `sshc` )
- [`web-search` ](https://github.com/sineto/web-search ) - Allows you to DuckDuckGo, Google, etc. directly from your zsh. just run `ddg` or `google`
- [`zsh-you-should-use` ](https://github.com/MichaelAquilina/zsh-you-should-use ) - Usefull plugin that suggest existing aliases for a command you just ran (try it out with `ls -l` )
- [`zsh-autosuggestions` ](https://github.com/zsh-users/zsh-autosuggestions ) - Suggestions based on your history
- [`git` ](https://github.com/davidde/git ) - Usefull git aliases
- [`zsh-syntax-highlighting` ](https://github.com/zsh-users/zsh-syntax-highlighting ) - Syntax highlighting for ZSH
- [`powerlevel10k` ](https://github.com/romkatv/powerlevel10k ) theme - The the actual theme
- [`pure` ](https://github.com/sindresorhus/pure ) - Pure shell look for zsh
2020-08-19 12:34:12 -05:00
2022-01-09 13:41:48 +01:00
### Install from your distribution's repository
- [`thefuck` ](https://github.com/nvbn/thefuck ) - Corrects errors in previous console commands (when you mess up a command, type `fuck` )
2020-10-09 21:04:56 +02:00
### Recomended for `powerlevel10k`
2020-10-09 21:15:17 +02:00
- [`nerd-fonts` ](https://github.com/ryanoasis/nerd-fonts "nerd-fonts github page" ) - I recomend `MesloLGS NF Regular`
2022-01-09 13:02:19 +01:00
- On Arch you can use `ttf-meslo-nerd-font-powerlevel10k` so you don't have to donwload the whole git repository
2020-06-07 16:09:57 +02:00
## Set as default
To set zsh as default shell for your user, edit `/etc/passwd` (from `/bin/bash` to `/bin/zsh` )
2021-11-14 19:08:23 +01:00
2020-10-09 21:04:56 +02:00
### There are two ways:
2020-10-09 21:07:54 +02:00
#### Running this command:
2021-11-14 18:47:07 +01:00
- ```chsch $USER```
- Input your password
- Input `/bin/zsh`
2022-01-09 13:02:19 +01:00
2020-10-09 21:07:54 +02:00
#### Modifying `/etc/passwd`
2021-11-14 19:19:33 +01:00
* Change your user in `/etc/passwd` to `/bin/zsh` instead of `/bin/bash`
2021-11-14 19:08:23 +01:00
< details >
2020-10-09 21:07:25 +02:00
* Find line containing your username
2021-11-14 19:21:50 +01:00
* Change the end of the line
From: ...`:/bin/bash`
2020-10-09 21:12:41 +02:00
2021-11-14 19:21:50 +01:00
To: ...`:/bin/zsh`
2021-11-14 19:08:23 +01:00
< / details >