new runtime variables (.User, .ConfigDir, .CacheDir, .Hostname)
Ifs
This allows If to be a string as it currently is:
alias:
- name: hello
value: world
if: eq .Shell "zsh"
But also allows it to be a list:
alias:
- name: hello
value: world
if:
- eq .Shell "zsh"
- match .User "root"
slim-sprig
This incorporates slim-sprig template functions into templates. The slim version was chosen since most of the features in the full version that are missing are expensive and unneeded.
New runtime variables
.User -- The username of the current user
.Hostname -- The current machine's hostname
.ConfigDir -- The current user's config directory based on OS
Unix: $XDG_CONFIG_HOME (or $HOME/.config if empty)
MacOS: $HOME/Library/Application Support
Windows: %AppData%
.CacheDir -- The current user's cache directory based on OS
Unix: $XDG_CACHE_HOME (or $HOME/.cache if empty)
MacOS: $HOME/Library/Caches
Windows: %LocalAppData%
Additional changes
Refactored the various rendering switches to be in one place, allowing for new shells to be added easier. Also added interfaces for the various "types" of exports to conform to Renderer
Added install instructions for the zinitzsh plugin manager
Prerequisites
Main new features
If
now supports both a string and a listIfs
This allows
If
to be a string as it currently is:But also allows it to be a list:
slim-sprig
This incorporates slim-sprig template functions into templates. The slim version was chosen since most of the features in the full version that are missing are expensive and unneeded.
New runtime variables
.User
-- The username of the current user.Hostname
-- The current machine's hostname.ConfigDir
-- The current user's config directory based on OS$XDG_CONFIG_HOME
(or$HOME/.config
if empty)$HOME/Library/Application Support
%AppData%
.CacheDir
-- The current user's cache directory based on OS$XDG_CACHE_HOME
(or$HOME/.cache
if empty)$HOME/Library/Caches
%LocalAppData%
Additional changes
Renderer
zsh
plugin manager