Personal Unix shell, editor, and terminal configuration.
git clone https://github.com/ddysher/.unixrc.git ~/.unixrc
# or
git clone git@github.com:ddysher/.unixrc.git ~/.unixrc
# for creating symlinks
mkdir -p ~/.configThe macOS config assumes Homebrew under /opt/homebrew.
Install the core packages used below:
brew install zoxide starship cmake libtoolSet Zsh as the default shell if needed:
chsh -s "$(command -v zsh)"Install the packages used below using your distro package manager, e.g.
sudo apt-get install cmake automake libtoolCreate Linux-only desktop/X11 symlinks:
mkdir -p ~/.config
ln -sfn ~/.unixrc/config/linux/gtk-3.0 ~/.config/gtk-3.0
ln -sfn ~/.unixrc/config/linux/fonts.conf ~/.fonts.conf
ln -sfn ~/.unixrc/config/linux/Xmodmap ~/.Xmodmap
ln -sfn ~/.unixrc/config/linux/xprofile ~/.xprofile
ln -sfn ~/.unixrc/config/linux/autokey ~/.config/autokeyNotes:
config/linux/Xmodmapchanges Caps Lock to Ctrl in X11.config/linux/xprofilecontains X11 session environment setup.config/linux/autokeystores Linux AutoKey bindings.
Ghostty is the active terminal config in this repo.
mkdir -p ~/.config
ln -sfn ~/.unixrc/config/ghostty ~/.config/ghosttyThe config lives in config/ghostty.
The shell setup is centered on zshrc.d/zshrc and enables tools when they are available locally.
ln -sfn ~/.unixrc/zshrc.d/zshrc ~/.zshrcInstall zinit directly into the user data directory:
mkdir -p ~/.local/share/zinit
git clone --depth=1 https://github.com/zdharma-continuum/zinit.git \
~/.local/share/zinit/zinit.gitZsh tools used by this repo:
zshas the primary shell, loaded fromzshrc.d/zshrczinitas the Zsh plugin managerzsh-autosuggestionsandzsh-syntax-highlightingvia Zinitzoxidefor directory jumpingstarshipfor the shell promptkubectlcompletion, cached by the Zsh completion module whenkubectlis installed- optional local overrides via
zshrc.d/local.zsh
Archived terminal and shell configs live under config/archive.
The Emacs config lives in emacs.d and is loaded via the ~/.emacs.d symlink.
ln -sfn ~/.unixrc/emacs.d ~/.emacs.dSome Emacs features expect extra tools:
make,cmake, andlibtoolfor building native packages such asvtermlivedownoptionally for Markdown previewdoctocoptionally for Markdown table of contents generation
Optional npm packages:
npm install -g livedown doctoc- Homebrew manages the Node.js installation.
zshrc.d/languages/nodejs.zshprepends the Homebrewnode@24bin directory and setsNPM_CONFIG_REGISTRYtohttps://registry.npmmirror.com/.
uvis the Python toolchain expected by the shell config.zshrc.d/languages/python.zshsetsPIP_INDEX_URLto the Tsinghua PyPI mirror.
rbenvis initialized when present locally.- Go environment defaults live in
zshrc.d/languages/golang.zsh. - Google Cloud SDK, Azure CLI, and CUDA hooks live under
zshrc.d/tools.