A set of shell scripts used to setup a new OSX system using opinionated tools and conventions.
This setup uses Oh My ZSH with Starship as the prompt. Make sure to configure your terminal to use a Nerd Font for the best experience.
Run this one-liner to install everything:
curl -fsSL https://raw.githubusercontent.com/kvnwolf/dotfiles/main/bootstrap.sh | bashThe installer will:
- Ask where you want to install the dotfiles (default:
~/Developer/github.com/kvnwolf/dotfiles) - Clone the repository
- Run the installation script automatically
Alternatively, you can install manually:
- Clone this repo:
git clone --recursive https://github.com/kvnwolf/dotfiles - Run the setup script:
sh install.sh - Enjoy your new setup! 🍻
The installation process is divided into three main components, each with its own interactive prompt:
- Downloads and installs Oh My ZSH
- Configures custom theme and plugins
- Sets up
.zshrcconfiguration
- Installs Homebrew (if not present)
- Installs command-line tools and utilities
- Configures Git and Starship prompt
- Installs desktop applications via Homebrew Cask
- GUI applications for productivity and development
The following binaries will be installed and made available for immediate use:
bat- A cat(1) clone with syntax highlighting and Git integrationbrew- Package manager for macOSbun- Fast all-in-one JavaScript runtimegh- GitHub CLIgit-delta- Syntax-highlighting pager for gitjq- Command-line JSON processorstarship- Cross-shell prompttree- Directory tree viewer
Additionally, if running on OSX, the following apps will be installed:
- 1Password - Password manager
- Arc - Modern web browser
- Discord - Communication platform
- Ghostty - Fast terminal emulator
- OrbStack - Docker & Linux VMs
- Raycast - Productivity launcher
- Spark - Email client
- Vanilla - Menu bar organizer
- Visual Studio Code - Code editor
- WhatsApp - Messaging app
Oh my ZSH will be downloaded and installed with the following configuration:
- Starship - A minimal, blazing-fast, and infinitely customizable prompt
| alias | description | usage |
|---|---|---|
reload |
reload the terminal (useful when changing terminal init configurations) | reload |
mcd |
create a directory and cd into it |
mcd my-dir-name |
dev |
change to developer directory (~/Developer) |
dev |
| alias | description | usage |
|---|---|---|
gpb |
checkout previous active branch | gpb |
gac |
stage all files and commit with a message | gac "my commit message" |
gacp |
stage all files, commit with a message and push | gacp "my commit message" |
gac! |
stage all files and overwrite previous commit | gac! |
gacp! |
stage all files, overwrite previous commit and force-push | gacp! |