First commit

This commit is contained in:
Philipp 2024-06-19 00:06:56 +02:00
commit 03cc854bfc
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
1154 changed files with 124499 additions and 0 deletions

View file

@ -0,0 +1,25 @@
# profiles plugin
This plugin allows you to create separate configuration files for zsh based
on your long hostname (including the domain).
To use it, add profiles to the plugins array of your zshrc file:
```sh
plugins=(... profiles)
```
It takes your `$HOST` variable and looks for files named according to the
domain parts in `$ZSH_CUSTOM/profiles/` directory.
For example, for `HOST=host.domain.com`, it will try to load the following files,
in this order:
```text
$ZSH_CUSTOM/profiles/com
$ZSH_CUSTOM/profiles/domain.com
$ZSH_CUSTOM/profiles/host.domain.com
```
This means that if there are conflicting settings on those files, the one to take
precedence will be the last applied, i.e. the one in host.domain.com.

View file

@ -0,0 +1,12 @@
# You will probably want to list this plugin as the first in your .zshrc.
# This will look for a custom profile for the local machine and each domain or
# subdomain it belongs to. (e.g. com, example.com and foo.example.com)
parts=(${(s:.:)HOST})
for i in {${#parts}..1}; do
profile=${(j:.:)${parts[$i,${#parts}]}}
file=$ZSH_CUSTOM/profiles/$profile
if [ -f $file ]; then
source $file
fi
done