Orderly Zsh-focused POSIX shell configuration files and various other configuration (i.e. Windows Terminal settings).
Enable environment specific scripts by following the pattern:
ln -s $HOME/.[env].d/script.sh $HOME/.[env].d/enabled/script.sh
I.e. to manage bash configs:
-
create directories:
mkdir -p .bashrc.d/enabled;
-
add a file:
touch .bashrc.d/ls.sh
in
.bashrc.d/ls.sh
:#!/bin/sh alias ls='ls --color=auto'
-
enable script by creating a symlink to it in the enabled dir:
ln -s $HOME/.bashrc.d/ls.sh $HOME/.bashrc.d/enabled/ls.sh
Note: bash and Zsh both funnel into .profile.d
so that can be used as a catch all for different shells.
Modifications for non-interactive contexts (i.e. changing PATH) should go in .zshenv.d
.
Modifications for Interactice contexts (i.e. aliases) should go in .zshrc.d
.
Enable lz
("link .zshrc.d") helper function: ln -s "$HOME/.zshrc.d/lz.sh" "$HOME/.zshrc.d/enabled/lz.sh"
.
Afterwards a script in .zshrc.d
can be enabled via lz Zshrc.sh
(or link multiple, i.e. lz bin.sh ls.sh grep.sh
).
There's a similar helper, lzenv
, in .Zshenv.d
.
See ./template/WindowsTerminal/readme.md
.
- Zsh
- oh-my-Zsh
- Patched Meslo Nerd Font
- powerlevel10k theme
- Windows Terminal
This is modified from mcandre/dotfiles.