This repository hosts my personal development environment configuration for macOS. It is built around Zsh, Neovim, and Ghostty, using Zinit to manage plugins efficiently.
I use a variety of modern CLI tools and applications to enhance my workflow. You can find the full list of tools, descriptions, and examples in:
👉 Detailed Tooling & Stack Guide
Ensure you have Homebrew and git installed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"The setup should be handle by the stow_script. Ensure that you backup your
configuration before.
# 1. Clone repository
git clone https://github.com/olefSch/dotfiles.git ~/dotfiles
# 2. go into it
cd ~/dotfilesThis repository includes a Brewfile that lists all my formulae, casks, and VS
Code extensions. To install everything at once, run:
# Install all dependencies from the Brewfile
brew bundle installThe last step is to run the stow script to get the config synced via simlinks to all the config locations.
# run stow scirpt
chmod +x stow_script.sh
./stow_script.shI use these aliases to map standard commands to their modern equivalents:
| Alias | Command | Description |
|---|---|---|
cat |
bat |
Syntax highlighted file reading |
df |
duf |
Visual disk usage |
man |
tldr |
Simplified man pages |
ls |
ls --color |
Colored directory listing |
update |
topgrade |
Updates system, brew, plugins, etc. |
v / vim |
nvim |
Opens Neovim |
cd |
z |
Smart directory jumping |
f |
fzf --preview... |
File fuzzy finder with preview |
| Key | Action |
|---|---|
Ctrl + f |
Accept Autosuggestion (Ghost text) |
Ctrl + k |
History Search Up |
Ctrl + j |
History Search Down |
The repository is organized into packages for GNU Stow:
~/dotfiles/
├── stow_script.sh # Stow automation script
├── zsh/ # Shell configuration
│ └── .zshrc
├── nvim/ # Neovim config (stowed to ~/.config/nvim)
├── starship/ # Prompt config (stowed to ~/.config/starship)
├── ghostty/ # Terminal config (stowed to ~/.config/ghostty)
└── ... # Other packages (atuin, neofetch, etc.)
-
Environment Variables: I use a
.envfile in$HOMEfor sensitive tokens. The.zshrcautomatically loads this. -
Java:
JAVA_HOMEis set to OpenJDK 17 via Homebrew.
