←Back to Guides
๐Ÿ’ปDeveloper Setupโฑ๏ธ 10 min read•Updated October 2026

Cross-Platform Developer Setup: Git, SSH, Modern Terminals & Dotfiles

A unified developer guide to setting up high-performance terminal environments, robust Git configurations, modern Ed25519 SSH keys, and seamless dotfile synchronization across Windows, Linux, and macOS.

#Developer#Git#SSH#WSL2#Dotfiles#Starship#Zsh#PowerShell

1. GPU-Accelerated Terminals & Starship Prompt

Ditch legacy command prompts for fast, hardware-accelerated terminals that support truecolor, ligatures, and tabs: - **Windows:** Windows Terminal (included in Windows 11) with PowerShell 7 (`pwsh`). - **macOS:** iTerm2, Ghostty, or Alacritty. - **Linux:** Kitty, Alacritty, or WezTerm. Install the **Starship cross-shell prompt** (`starship.rs`) for an instant, blazingly fast status line displaying your current Git branch, Python/Node/Rust versions, and execution times without shell slowdown.
Install Starship Cross-Shell Prompt
# Linux / macOS:
curl -sS https://starship.rs/install.sh | sh

# Windows PowerShell:
winget install Starship.Starship

Installs the compiled Rust binary prompt on any operating system.

2. Robust Production Git Configuration

Prevent line-ending headaches (CRLF vs LF) when collaborating across Windows, Mac, and Linux, and set up helpful aliases:
Configure Git Line Endings & Pull Strategy
# On Windows:
git config --global core.autocrlf true

# On macOS & Linux:
git config --global core.autocrlf input

# Clean merge commits on all platforms:
git config --global pull.rebase true
git config --global init.defaultBranch main

Enforces standard LF normalized line endings in git repositories.

Add High-Productivity Git Aliases
git config --global alias.st "status -sb"
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git config --global alias.undo "reset --soft HEAD~1"

Configures compact status, beautiful colorized commit trees, and a safe commit undo alias.

3. Modern Ed25519 SSH Key Setup

Legacy RSA 2048/4096-bit keys are slow, large, and deprecated by modern standards. **Ed25519** uses elliptic curve cryptography offering superior security, resistance to side-channel attacks, and ultra-compact keys:
Generate Modern Ed25519 SSH Key Pair
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519

Generates a secure Ed25519 public/private key pair.

Configure ~/.ssh/config Host Aliases
# Add to ~/.ssh/config:
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

Automates SSH key selection without prompting.

4. WSL2 (Windows Subsystem for Linux) Mastery

WSL2 runs a true Linux kernel via lightweight Hyper-V virtualization inside Windows 11. - Store your active project code inside the Linux root directory (`~/projects/`), **not** on `/mnt/c/`. Accessing the Windows 9P filesystem from Linux is 10x slower than the native ext4 virtual disk. - Configure resource limits in `C:\Users\\.wslconfig`: ```ini [wsl2] memory=8GB processors=4 swap=2GB guiApplications=true ``` - Launch VS Code or Cursor directly from the Linux terminal with `code .` or `cursor .` for seamless client-server remote editing.

๐ŸŽ“Explore More Guides

โœจ