My ZSH config
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Alex D. 2c253ec864
Use completions over history
1 month ago
powerlevel-config Few tweaks and bump remotes 1 month ago
powerlevel10k@00232d1b6d Few tweaks and bump remotes 1 month ago
zsh-autosuggestions@ae315ded4d Fix commit fuckery 11 months ago
zsh-syntax-highlighting@5eb494852e Few tweaks and bump remotes 1 month ago
.gitignore Add everything needed in own configs and update some stuff around 9 months ago
.gitmodules Fix submodules 11 months ago
.zshrc Remove doas/sudo prepend 3 months ago
README.md Update readme 3 months ago
bindings.zsh Update a few things and remote ssh gpg socket 4 months ago
completions.zsh Update autoloads, move some aliases, use cuda, use here strings, improve mpv latency, update commits 7 months ago
preferences.zsh Use completions over history 1 month ago

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:

  • sqlite (if using the youtube RSS plugin [depends on newsboat cache database])
  • busctl (for dbus interactions)

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 prompt

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:mpv socket

This should be the location of the mpv socket that is available via the input-ipc-server. It will check if the socket exists, and if it does it will use it. NOTE: While this is fast, it has it's drawbacks. It currently relies on lots of assumptions and that should be understood. JSON parsing is done assuming that the title is a string and that the string has no special characters.

:custom:prompts:mail glob

This should be a glob pattern that would match any new mails. This works the best with the Mailbox format as every new mail is a file. mbox or spoolfiles may be supported in the distant future, but i don't plan to do that.