Blog

/

setup


8 min read
Last Tuesday

My Setup

A guide to my future self: the tools, apps, CLI, and preferences I use daily as a developer in 2026

by Nahuel Scotti

This is a snapshot of my development setup as of March 2026. A guide to my future self — so when I inevitably nuke my machine or get a new one, I know exactly what to install and how I like things.

First Things First

Install (or reinstall) the Xcode Command Line Tools — required for git, compilers, and Homebrew:

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

Then install Homebrew — the package manager everything else depends on:

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

Create the source code folder:

mkdir -p ~/src && cd ~/src

Configure git with your name and email:

git config --global user.email "your@email.com"
git config --global user.name "your-username"

Don't forget: Enable the SSH agent in 1Password (Settings → Developer → Use as SSH Agent) so git uses your 1Password-stored SSH keys for authentication.

Hardware

  • Computer: MacBook Pro (M3 Pro, 11-core CPU / 14-core GPU, 36 GB RAM)
  • Display: One 27" monitor as primary, sometimes a 24" rotated as secondary
  • Keyboard: KBParadise V60 Type R — 60% mechanical. Caps Lock remapped to Control
  • Mouse: Logitech MX Master 3s — quiet clicks, fast scrolling, multi-device

Terminal & Shell

Shell: Zsh with Oh My Zsh.

Prompt: Powerlevel10k — lean style, 2-line prompt, minimal segments. Just the directory, git status, and command execution time. No clutter.

Plugins:

  • git — standard git aliases
  • zsh-autosuggestions — fish-like suggestions as you type
  • zsh-syntax-highlighting — colors for valid/invalid commands
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

CLI Tools

I've replaced most of the default Unix tools with faster, modern alternatives:

DefaultReplacementWhy
findfdSimpler syntax, respects .gitignore
grepripgrep (rg)Blazing fast, respects .gitignore
catbatSyntax highlighting, git integration
lsezaBetter defaults, tree view
cdzoxide (z)Frecency-based directory jumping
vimNeovimAsync, Lua config, better plugins

Other essentials:

  • Turborepo — monorepo build system. Installed globally via pnpm add turbo --global for running turbo build, turbo lint, etc. from anywhere.
  • jq — lightweight command-line JSON processor. Indispensable for piping API responses and config files.
  • fzf — fuzzy finder for everything. Ctrl+R for history, Ctrl+T for files.
  • delta — beautiful git diffs in the terminal. Set as the default git pager.
  • gh — GitHub CLI. PR creation, reviews, issue management without leaving the terminal.
  • tig — text-mode interface for git. Great for browsing history.
  • glow — render markdown in the terminal. Great for reading docs and READMEs without leaving the CLI.
  • thefuck — auto-corrects previous console commands.
  • mas — Mac App Store CLI. Install App Store apps from the terminal.
  • Vercel CLI — deploy, manage env vars, and interact with the Vercel platform from the terminal.
  • Supabase CLI — local development, migrations, and management for Supabase projects.
brew install neovim fd ripgrep bat eza fzf zoxide git-delta gh tig glow thefuck mas vercel-cli supabase jq

Shell Aliases

The ones I can't live without:

alias vim="nvim"
alias find="fd"
alias grep="rg"
alias pn="pnpm"
alias cc="claude"

Node.js & Package Management

  • Node: v22 LTS via fnm (Fast Node Manager). It auto-switches versions when you cd into a project with a .node-version file.
  • pnpm: My default package manager. Fast, disk-efficient, great monorepo support.
brew install fnm pnpm
fnm install 22
fnm use 22
pnpm add turbo --global

Editors

VS Code

My primary editor.

Neovim

Running v0.11+ with a Kickstart.nvim-based config and Lazy as the plugin manager. It lives at ~/.config/nvim/.

Disable the macOS press-and-hold accent picker so key repeat works — essential for holding h/j/k/l to navigate:

defaults write -g ApplePressAndHoldEnabled -bool false

AI-Assisted Development

Claude Code

Heavily integrated into my workflow. I run it from the terminal with cc (aliased to claude).

Key setup:

  • LSP enabled for better code intelligence
  • Multiple plugins: TypeScript LSP, Context7, Playwright, Chrome DevTools
  • Superpowers — skills for planning, debugging, TDD, code review, and more.
brew install --cask claude-code

RTK (Rust Token Killer)

A token-optimized CLI proxy that sits between Claude Code and shell commands. Saves 60-90% on tokens for dev operations. It rewrites commands transparently via hooks — e.g., git status becomes rtk git status with filtered output.

Check savings with rtk gain and discover optimization opportunities with rtk discover.

brew install rtk

Ruby

Only required for work. Ruby 4.0 via rbenv.

brew install rbenv
rbenv install 4.0.0
rbenv global 4.0.0

Fonts

All installed via Homebrew (brew install --cask):

brew install --cask font-commit-mono font-fira-code font-geist-mono font-hack font-iosevka font-jetbrains-mono font-jetbrains-mono-nerd-font font-martian-mono font-meslo-lg-nerd-font font-monaspace font-scientifica font-silkscreen

macOS Apps

Productivity

  • Raycast — launcher, snippets, clipboard history. Replaced Spotlight entirely.
  • 1Password — password manager.
  • Obsidian — notes and knowledge base.
  • Notion — docs and project wikis.
  • Linear — issue tracking.
  • Slack — team communication.
  • Amphetamine — keeps the Mac awake when needed.
  • Itsycal — tiny menu bar calendar.
  • Hocus Focus — auto-hides inactive app windows.
  • Raindrop.io — bookmark manager.

Development

  • Claude — AI assistant, desktop app.
  • Warp — AI-powered terminal.
  • Visual Studio Code — editor for specific tasks.
  • Zed — fast native editor.
  • OrbStack — Docker alternative. Faster, lighter, native ARM.
  • Hoppscotch — API testing. Open source Postman alternative.
  • Gitify — GitHub notifications in the menu bar.
  • ForkLift — dual-pane file manager with SFTP.

Design

  • Figma — UI design and prototyping.
  • Shottr — screenshot tool with annotations and OCR.
  • ImageOptim — lossless image compression.
  • Kap — screen recording as GIF/MP4.

Browsers

Chrome Extensions

  • Refined GitHub — simplifies the GitHub interface and adds useful features.

Media

  • Spotify — music.
  • IINA — video player. Modern, native, and miles better than VLC.
  • Jellyfin — self-hosted media server client.
  • NetNewsWire — RSS reader. Free, native, fast.

Communication

  • WhatsApp — messaging.
  • Discord — communities and voice chat.
  • Zoom — video calls. I hate it, but needed for work.

Utilities

Music Production

Games

  • Little Navmap — flight planner and navigation tool for flight simulators.
brew install --cask raycast 1password obsidian notion linear-linear slack itsycal raindropio claude warp visual-studio-code zed orbstack hoppscotch gitify forklift figma shottr imageoptim kap google-chrome firefox tor-browser spotify iina jellyfin-media-player netnewswire whatsapp discord zoom keka dropbox transmission balenaetcher

Mac App Store apps via mas:

mas install 937984704  # Amphetamine
mas install 954982733  # Tuner T1 Pro

Not available via Homebrew or mas: Hocus Focus, AmpliTube 5, TONEX. Safari is built-in.

Preferences & Philosophy

  • Gatekeeper disabled: I allow apps from anywhere — many tools I use aren't code-signed.
sudo spctl --master-disable

To re-enable: sudo spctl --master-enable

  • Minimal UI: I prefer lean prompts, dark themes, and no unnecessary visual noise.
  • Speed over aesthetics: Tools are chosen for performance first. If it's slow, it's gone.
  • Automation: If I do it more than twice, it gets aliased or scripted.
  • Modern replacements: I actively replace legacy Unix tools with faster Rust/Go alternatives.
  • Monorepo by default: Shared code, unified tooling, single source of truth.
  • Wallpapers: Raycast Wallpapers — clean, minimal, updated regularly.
curl -o ~/Pictures/raycast-cube.heic https://misc-assets.raycast.com/wallpapers/cube_prod.heic
osascript -e 'tell application "System Events" to tell every desktop to set picture to POSIX file "'$HOME'/Pictures/raycast-cube.heic"'

Trying

Things I'm testing but not sure if they'll stick:

  • Openscreen — open source screen sharing tool.
  • Clearly — keyboard-driven clarity timer for focused work.
  • Spokenly — voice-to-text for macOS.
  • Worktrunk — development workflow tool.

That's the setup. If you're reading this, future me — you're welcome.

  • #cli
  • #macos
  • #productivity
  • #setup
  • #tools