Skip to content

olefSch/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

🛠 My Tech Stack

Here are the core tools and CLIs I use in my daily workflow:

Core System

Core Utilities

I have replaced many standard Unix commands with modern Rust-based alternatives for better performance and visuals.

Tool Description Replaced
bat Syntax highlighted file reading cat
duf Disk Usage/Free Utility df
tldr Fast implementation of tldr man
zoxide Smarter cd command cd
fzf Command-line fuzzy finder search
atuin Magical shell history history
topgrade Upgrade everything manual updates
neofetch System information tool
tmux Multiplexer zeoxide would be the new one, tmux is the old

Languages & Frameworks

  • Java: OpenJDK 17

  • Node.js: Managed via nvm

  • Big Data: Apache Spark

  • Cloud/AI: Google Cloud SDK, LM Studio CLI

🚀 Installation

1. Prerequisites

Ensure you have Homebrew and git installed:

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

2. Install Dependencies

This command installs all binary dependencies required by my .zshrc:

# Core Tools & CLI Enhancements
brew install \
  stow \
  neovim \
  starship \
  zoxide \
  fzf \
  bat \
  duf \
  tealdeer \
  topgrade \
  atuin \
  neofetch \
  openssl \
  tmux

# Languages & Frameworks
brew install openjdk@17 uv

# Note: NVM and Zinit are handled automatically by the .zshrc script if missing.

3. 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

# 3. Run the stow setup script
chmod +x stow_script.sh
./stow_script.sh

⌨️ 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)
└── ...                  # Other packages (atuin, neofetch, 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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors