Skip to content
olefSchPublic

About

These are my dotfiles which I use ;)

Resources

Stars

3 stars

Watchers

2 watching

Forks

Repository files navigation

⚡️ macOS Dotfiles

This repository hosts my personal development environment configuration for macOS. It is built around Zsh, Neovim, and Ghostty, using Zinit to manage plugins efficiently.

bmo

🛠 Tooling & Stack

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

🚀 Installation

1. Prerequisites

Ensure you have Homebrew and git installed:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Setup Dotfiles

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 ~/dotfiles

This 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 (sometimes multiple tries)
brew bundle install

The 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.sh

3. Initialize Tmux Plugins

The stow script automatically downloads the Tmux Plugin Manager (TPM), but you need to manually tell it to fetch your plugins (like the Catppuccin theme) the first time you use it.

  • Open a new terminal and start tmux by running tmux.
  • Press your tmux prefix key (default is Ctrl + b).
  • Press I (capital i).
  • Wait a few seconds for the plugins to install, and your status bar will automatically update!

⌨️ Keybindings & Aliases

Shell Aliases

I 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

Zsh Keybinds

Key Action
Ctrl + f Accept Autosuggestion (Ghost text)
Ctrl + k History Search Up
Ctrl + j History Search Down

📂 Structure

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)
├── tmux/                # Multiplexer config (stowed to ~/.config/tmux)
├── fastfetch/           # System info config (stowed to ~/.config/fastfetch)
└── ...                  # Other packages (atuin, television, etc.)

⚙️ Configuration Notes

  • Environment Variables: I use a .env file in $HOME for sensitive tokens. The .zshrc automatically loads this.

  • Java: JAVA_HOME is set to OpenJDK 17 via Homebrew.

About

These are my dotfiles which I use ;)

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages