Automated Development Environment Setup

Bootstrap your complete dev workspace with Neovim, Zsh, Tmux, and Kitty in minutes

CI Tests PRs Welcome
git clone https://github.com/klee1611/dotfiles.git
cd dotfiles
./install.sh

Features

Automated Installation

Single command setup for all development tools and dependencies

💻

Neovim IDE

Modern setup with LSP, debugging, auto-completion, and AI assistance via GitHub Copilot

🐚

Shell Environment

Zsh with oh-my-zsh, syntax highlighting, autosuggestions, and plugins

🎨

Terminal Config

Kitty terminal with themes and GPU acceleration for smooth performance

🔧

Version Managers

Automated setup of Python (pyenv), Node.js (nvm), and Go (gvm)

🔗

Symlink Management

Dotbot-based automatic symlinking of configuration files

Development Tools Included

Language Environments

  • Go 1.23 - Via gvm with complete bootstrap chain
  • Python 3.10 - Via pyenv with poetry
  • Node.js - Via nvm

Editor Features

  • LSP Support - Bash, C/C++, Python, Rust, Go, Lua, TS/JS
  • AI Coding - GitHub Copilot integration
  • Auto-completion - nvim-cmp with multiple sources
  • Debugging - nvim-dap for multiple languages

Shell Plugins

  • zsh-completions - Enhanced tab completion
  • zsh-syntax-highlighting - Command highlighting
  • zsh-autosuggestions - Smart suggestions
  • autojump - Fast directory navigation

Quick Installation

1

Clone the Repository

git clone https://github.com/klee1611/dotfiles.git
cd dotfiles
2

Run Installation Script

./install.sh

This will install Homebrew packages, set up language version managers, install dependencies, and symlink all configuration files.

3

Restart Shell

source ~/.zshrc
4

Open Neovim

nvim

Lazy.nvim will automatically install all plugins on first launch. Then run :Mason to install LSP servers.

Neovim Configuration

Key Mappings

Leader key: Space

LSP Commands

  • gD - Go to declaration
  • gd - Go to definition
  • K - Hover documentation
  • gi - Go to implementation
  • Space + rn - Rename symbol
  • gr - Find references
  • Space + f - Format code

Major Plugins

  • Lazy.nvim - Plugin manager
  • nvim-treesitter - Syntax highlighting
  • mason.nvim - LSP/DAP installer
  • nvim-lspconfig - LSP configurations
  • nvim-cmp - Completion engine
  • nvim-dap - Debugging
  • telescope.nvim - Fuzzy finder
  • conform.nvim - Code formatting
  • nvim-lint - Linting
  • github-copilot - AI assistance

Project Structure

dotfiles/
├── _scripts/           # Installation and setup scripts
│   ├── init.sh        # Main system setup
│   ├── zsh_init.sh    # Oh-my-zsh setup
│   └── nvim_cleanup.sh # Neovim cache cleanup
├── nvim/              # Neovim configuration
│   ├── init.lua       # Entry point
│   └── lua/
│       ├── core/      # Core settings
│       └── plugins/   # Plugin configurations
├── zsh/               # Zsh configuration files
├── tmux/              # Tmux configuration
├── dotbot/            # Symlink management
├── install.conf.yaml  # Dotbot configuration
└── install.sh         # Main installation script

Ready to Get Started?

Set up your complete development environment in minutes