Cross-platform development environment for macOS and Windows. One command bootstraps a fresh machine into a fully configured setup.
| Config | Tool | Notes |
|---|---|---|
zsh/ |
Zsh + Oh My Zsh + Powerlevel10k | macOS / WSL2 |
powershell/ |
PowerShell 7 + Oh My Posh | Windows native |
tmux/ |
Tmux | macOS / WSL2 — session persistence |
alacritty/ |
Alacritty | Cross-platform terminal (Catppuccin Mocha) |
windows-terminal/ |
Windows Terminal | Windows — tabs, multiple profiles |
| Config | Tool | Notes |
|---|---|---|
nvim/ |
Neovim + LazyVim | Cross-platform — LSP, Telescope, Treesitter, Catppuccin Mocha |
| Config | Tool | Notes |
|---|---|---|
git/ |
Git + delta | Cross-platform — better diffs, aliases |
| Tool | Replaces | Purpose |
|---|---|---|
eza |
ls |
File listing with icons and git status |
bat |
cat |
Syntax-highlighted file viewer |
fd |
find |
Fast file search |
ripgrep |
grep |
Fast content search |
zoxide |
cd |
Smart directory jumping |
fzf |
— | Fuzzy finder (shell history, files) |
delta |
— | Better git diffs |
lazygit |
— | Terminal git UI |
yazi |
— | Terminal file manager |
gh |
— | GitHub CLI |
jq |
— | JSON processor |
tldr |
man |
Simplified command reference |
| Tool | Purpose |
|---|---|
| Avante (nvim) | Cursor-style AI coding assistant — Claude, GPT-4o, or local Ollama |
| Copilot (nvim) | GitHub Copilot inline ghost-text completions |
ollama |
Run LLMs locally (Llama, Mistral, Qwen, DeepSeek, CodeLlama) |
aider |
AI pair programming in the terminal — works with Claude & GPT |
llm |
Unified CLI for 100+ LLM providers |
gh copilot |
GitHub Copilot in the terminal (gh copilot suggest "...") |
Prerequisites: Homebrew, Xcode Command Line Tools
git clone https://github.com/AliSinaDevelo/dot-files.git ~/dotfiles
cd ~/dotfiles
./install.shThe same install.sh works on any Linux distro with Homebrew for Linux. GUI apps (Alacritty, fonts) are skipped automatically — install them via your distro's package manager.
# Install Homebrew for Linux first (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
git clone https://github.com/AliSinaDevelo/dot-files.git ~/dotfiles
cd ~/dotfiles
./install.sh- Run
p10k configureto style your prompt - Open tmux and press
prefix + Ito install plugins - Run
nvimto let LazyVim auto-install plugins - Set
ANTHROPIC_API_KEYorOPENAI_API_KEYin your shell for Avante AI
Prerequisites: PowerShell 7, Developer Mode enabled (Settings → Privacy & Security → For Developers)
git clone https://github.com/AliSinaDevelo/dot-files.git $HOME\dotfiles
cd $HOME\dotfiles
.\install.ps1After install:
- Restart your terminal
- Run
nvimto let LazyVim auto-install plugins - In nvim, run
:MasonInstall <server>for language servers
After enabling WSL2 (wsl --install), open your Ubuntu shell and run the macOS install script — it works identically inside WSL:
cd /mnt/c/Users/<you>/dotfiles # or wherever you cloned it
./install.shBoth scripts are idempotent — safe to run again after pulling updates.
dotfiles/
├── .claude/ # Claude Code project settings
├── .github/
│ ├── dependabot.yml # Weekly action version updates
│ └── workflows/
│ ├── ci.yml # Lint on every push (shellcheck, lua, json, md)
│ └── install.yml # Full install test on macOS + Ubuntu
├── alacritty/
│ └── alacritty.toml # Terminal — Catppuccin Mocha (macOS + Windows)
├── git/
│ └── .gitconfig # Git aliases, delta pager, sensible defaults
├── nvim/ # Neovim — LazyVim config (cross-platform)
│ ├── init.lua
│ └── lua/
│ ├── config/
│ │ ├── autocmds.lua # Auto-commands (yank flash, whitespace, etc.)
│ │ ├── keymaps.lua # Custom keybindings on top of LazyVim defaults
│ │ ├── lazy.lua # lazy.nvim bootstrap + extras
│ │ └── options.lua # Vim options
│ └── plugins/
│ ├── ai.lua # Copilot + Avante (Claude / GPT / Ollama)
│ ├── colorscheme.lua # Catppuccin Mocha
│ └── editor.lua # Harpoon2
├── powershell/
│ └── profile.ps1 # PowerShell — Oh My Posh, aliases, PSReadLine
├── tmux/
│ └── .tmux.conf # Tmux keybinds, status bar, TPM plugins
├── windows-terminal/
│ └── settings.json # Windows Terminal — Catppuccin Mocha, Nerd Font
├── zsh/
│ └── .zshrc # Zsh — Oh My Zsh, plugins, aliases
├── .gitignore
├── .markdownlint.yaml
├── .stylua.toml
├── Brewfile # macOS / Linux: Homebrew packages
├── LICENSE
├── install.sh # macOS / Linux bootstrap script
└── install.ps1 # Windows bootstrap script
The nvim config is built on LazyVim — an opinionated Neovim distribution with curated defaults and a plugin ecosystem.
| Extra | Purpose |
|---|---|
| Telescope | Fuzzy finder for files, grep, LSP symbols, buffers |
| TypeScript LSP | TypeScript / JavaScript language server |
| JSON LSP | JSON with schema support |
| Markdown | Preview, concealment, formatting |
| Prettier | Code formatter |
| mini-animate | Smooth cursor / scroll animations |
<Space> is the leader key. Press it in Normal mode to see all keymaps via which-key.
| Key | Action |
|---|---|
<Space>ff |
Find files (Telescope) |
<Space>fg |
Live grep (Telescope) |
<Space>fb |
Find buffers |
<Space>fc |
Commands palette |
<Space>fm |
Marks |
<Space>e |
File explorer (neo-tree) |
<Space>gg |
LazyGit |
<Space>xx |
Diagnostics (Trouble) |
<Space>l |
Lazy plugin manager |
<Space>cm |
Mason LSP installer |
<Space>ha |
Add file to Harpoon |
<Space>hh |
Harpoon quick menu |
<Space>h1–4 |
Jump to Harpoon file 1–4 |
<Space>aa |
AI: ask / chat (Avante) |
<Space>ae |
AI: edit selection (Avante) |
<Space>at |
AI: toggle sidebar (Avante) |
<M-l> |
Copilot: accept inline suggestion |
jk |
Exit insert mode |
<C-s> |
Save file |
<A-j> / <A-k> |
Move line / selection up or down |
Available on both macOS (zsh) and Windows (PowerShell):
| Alias | Expands To |
|---|---|
ls |
eza --icons |
ll |
eza -lah --icons --git |
la |
eza -a --icons |
lt |
eza --tree --icons --level=2 |
cat |
bat |
gs |
git status |
ga |
git add |
gc |
git commit |
gp |
git push |
gl |
git pull |
gco |
git checkout |
gd |
git diff |
glg |
git log --oneline --graph --all |
| Key | Action |
|---|---|
| |
Split horizontally |
- |
Split vertically |
h/j/k/l |
Navigate panes (vim-style) |
H/J/K/L |
Resize panes |
r |
Reload config |
# macOS / WSL2
cd ~/dotfiles && git pull && ./install.sh
# Windows PowerShell
cd $HOME\dotfiles; git pull; .\install.ps1MIT