Skip to content

Contains setup for my terminal. Has Vim, ZSH, and tmux configurations.

Notifications You must be signed in to change notification settings

merlinsbeard/terminal-setup

Repository files navigation

Terminal Setup

Dotfiles and configuration for my macOS development environment.

Quick Start

./install.sh                 # Install required apps and tools
./deploy.sh                  # Deploy all configs (backs up existing)
./deploy.sh zsh nvim tmux    # Deploy specific configs only

Fonts

  1. MonaSpace
  2. JetBrains Mono Nerd Font

Neovim

Uses LazyVim framework. Config lives in nvim/.

VSCode

User settings: vscode-settings-user.json

Tmux

  1. Install tmux plugin manager:

    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  2. Copy config and install plugins:

    cp tmux.conf ~/.tmux.conf
  3. Start tmux, then press Ctrl-a + I to install plugins

Zsh

  1. Install Oh My Zsh:

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  2. Copy config:

    cp zshrc ~/.zshrc

AeroSpace

AeroSpace - tiling window manager for macOS

cp aerospace.toml ~/.aerospace.toml

Git

cp gitconfig ~/.gitconfig

Applications

GUI

App Description
Brew macOS package manager, install everything else through this
Ghostty GPU-accelerated terminal emulator
AeroSpace i3-like tiling window manager for macOS
Bruno Offline-first API client, alternative to Postman
Docker Containers for local dev and databases
VSCode Code editor for larger projects
Brave Browser Privacy-focused Chromium browser
Zen Browser Firefox-based browser with vertical tabs
DBeaver Universal database GUI client
Bitwarden Open-source password manager
Obsidian Markdown-based knowledge base
Numi Text-based calculator with unit conversions
Discord Community and team chat
Telegram Messaging

Terminal

App Description
GitHub CLI PRs, issues, and repos from the terminal
NVM Switch between Node.js versions per project
Neovim Terminal editor, configured with LazyVim
Golang Go programming language and toolchain
Rust Rust language and Cargo package manager
Bun Fast JS/TS runtime, bundler, and package manager
UV Blazing fast Python package and project manager
miniconda Minimal Conda installer for Jupyter notebooks
AWS CLI v2 Manage AWS services from the terminal
AWS Vault Securely store and switch AWS credentials
kubectl CLI for managing Kubernetes clusters

Brew CLI tools

Tool Description
htop Interactive process viewer
tmux Terminal multiplexer for split panes and sessions
zoxide Smarter cd that learns your most visited directories
fzf Fuzzy finder for files, history, and anything piped to it
tree Display directory structure as a tree
tig Interactive Git log viewer in the terminal
ripgrep Extremely fast recursive text search (rg)
rsync Fast incremental file and directory sync
jq Command-line JSON processor
JankyBorders Highlight active window with colored borders
brew install htop tmux zoxide fzf tree tig ripgrep rsync jq

JankyBorders requires a separate tap:

brew tap FelixKratz/formulae
brew install borders

macOS Tweaks

Disable press-and-hold for VS Code (enables key repeat):

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled

Drag windows from anywhere with Ctrl + Cmd + click:

defaults write -g NSWindowShouldDragOnGesture -bool true

About

Contains setup for my terminal. Has Vim, ZSH, and tmux configurations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors