My ZSH config
Go to file
Alex 12bc8dff99
Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits
2020-07-19 00:43:39 +02:00
custom Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
powerlevel-config Drop newsboat and add sfeed, fix few things 2020-06-21 00:10:44 +02:00
powerlevel10k@6c9d0977a6 Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
zsh-autosuggestions@ae315ded4d Fix commit fuckery 2020-04-07 15:45:08 +02:00
zsh-syntax-highlighting@fb929edc30 Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
.gitignore Add everything needed in own configs and update some stuff around 2020-05-22 14:56:46 +02:00
.gitmodules Fix submodules 2020-04-07 15:55:28 +02:00
.zshenv Separate files 2020-04-06 23:30:24 +02:00
.zshrc Add everything needed in own configs and update some stuff around 2020-05-22 14:56:46 +02:00
README.md Fix readme formatting 2020-05-27 22:48:14 +02:00
bindings.zsh Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
completions.zsh Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
custom.zsh Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00
preferences.zsh Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 2020-07-19 00:43:39 +02:00

README.md

My ZSH config

This is my daily driver for my shell, it's heavily customized and relies on a lot of ZSH features

It is enhanced by a few things which are submodules of this repo:

  • Powerlevel10k
  • zsh-autosuggestions
  • zsh-synthax-highlighting

Some custom prompts depend on these binaries in your path:

  • jq (for JSON parsing)
  • sqlite (if using the youtube RSS plugin [depends on newsboat cache database])
  • curl (for fetching external API data)
  • busctl (for interacting with mpv over mpris dbus IPC, see mpv-mpris

While i do attempt to make this usable widely, don't rely on it. If you want to use this and have it work as you want it, it's expected that you can read manual pages and know at least a bit of shell scripting.

These variables should be set in your .zshenv or your profiles/environment files

ZDOTDIR

This environment variable should be set to the root of your repository (usually ~/.config/zsh or ~/.zsh)

zstyles

:custom:preferences

Because font support detection is a bit complicated, the prompt variable in this zstyle allows you to manually toggle on a specific prompt (now only p9k is available)

:custom:prompts:weather

This should be your location in the woeid format. https://en.wikipedia.org/wiki/WOEID The weather is fetched from MetaWeather (props to them for having a API that is authentication-free) every 12h. It is not updated live in the prompt because i don't really expect people to have their terminal open for 12h but it can be updated manually by deleting the disk cache stored at $CACHEPATH/weather and unsetting the _cprompts_weather variable in this specific order.

:custom:prompts:covid

This is a country slug for your country. This is used in the covid_19() prompt which shows you the daily actively infected people. It behaves the same as the weather one except that it is updated every 24h and is fetched from Covid19API which has a really nice JSON api which is completly free and requires no authentication.