Commit graph

3 commits

Author SHA1 Message Date
Marty Oehme 40b6d2220c
Remove zsh plugin manager
Plugins are managed directly through pacman packages now. Since I am
only using six zsh plugins and they are staying relatively constant and
not changing much, pacman seems a much more sane way to manage them
without cluttering up my zsh initialization routine. All zgen management
can go and just needs 6 `source` lines in order to load the plugin
entrypoints.
2020-02-08 16:28:36 +01:00
Marty Oehme fbc1c44652 Add zsh completion path, completions plugin
Added `$XDG_CONFIG_HOME/zsh/completions` to fpath for zsh to source
completions from. Any stow modules creating scripts and functions which
should be auto-completable can add their own completion scripts to this
directory for zsh to automatically pick them up.

Add zsh-users/zsh-completions plugin to provide completions for a wide
array of applications (e.g. glances, nvm).
2020-02-02 23:32:37 +01:00
Marty Oehme 6380affb6f Add basic XDG compliant sh architecture
The only file left in $HOME is .zshenv, which sets up zsh to source everything from XDG_CONFIG_HOME/zsh.
Shell files are split into sh and zsh directories, for global assignments (which should be posix compliant, work on any posix shell) like environemnt variables, xdg vars, and global aliases. zsh contains zsh specific customization (prompt customization, plugin loading, zsh completions).

Zsh initialization will pull from sh directory first, loading the respective mirror to its startup file (`.zprofile` loads `sh/profile` and `profile.d/*`, `.zshenv` loads `sh/env` and `sh/env.d/*` and `zsh/env.d/*`, `.zshrc` loads `sh/alias`, `sh/alias.d/*` and `zsh/alias.d/*`)

Once all is done, it will have loaded both global variables, aliases and settings, and zsh-only specifications. Other stow modules, if they want to add shell functionality, can include their aliases and functions in one of the above directories to automatically be picked up by zsh.
2020-02-02 15:08:40 +00:00