A comprehensive development environment setup with Neovim, Zsh, and essential tools.
git clone https://github.com/ckangnz/ckVim.git ~/.vim
cd ~/.vimmake allThis will show an interactive menu where you can select which components to install:
- brew - Homebrew package manager
- vim - Vim/Neovim configuration
- zsh - Zsh shell with plugins, terminal tools including Herdr, and AGENTS.md symlinks
- fonts - FiraCode Nerd Font
- others - Additional tools (optional, macOS)
- gitignore - Add
ck_*to global gitignore + setcore.excludesfile
Defaults adapt to your machine: if Homebrew is already installed, vim, zsh, fonts, and gitignore are pre-selected; otherwise only brew is.
Use 1-6 to toggle selections, a to select/deselect all, Enter to confirm, q to quit.
Note: You can press Ctrl+C at any time to stop the installation.
You can also install components individually:
make brewWarning
This will override your existing .vimrc file
Includes: Neovim, Vim, Python3, Node, FZF, Ripgrep, and more
make vimWarning
This will override your existing .zshrc file
Includes: Zsh, Herdr, Zap plugin manager, Powerlevel10k theme, and essential CLI tools. Herdr's user configuration is symlinked from this repository; Herdr session state and logs remain local to ~/.config/herdr.
make zshAfter installation, restart your terminal and configure Powerlevel10k:
p10k configureIncludes: Docker, Arc Browser, Kitty terminal, Rectangle, and more (macOS only)
make othersmake symlink # All symlinks
make vim_symlink # Vim/Neovim symlinks only
make zsh_symlink # Zsh/Herdr/Kitty symlinks onlyRemove all managed symlinks. This removes the Herdr config-file link but preserves Herdr runtime state:
make resetInstall essential build tools:
# Debian/Ubuntu
sudo apt-get update && sudo apt-get install build-essential
# Arch Linux (SteamOS)
sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Syu
sudo pacman -S --noconfirm base-devel glibc linux-api-headers
sudo steamos-readonly enableEnable Hyper-V on Windows:
- Open "Turn Windows features on or off"
- Find Hyper-V and enable it
- Restart your computer
Install Nerd Font:
- Download FiraCode Nerd Font
- Configure your terminal to use the font
~/.vim/
├── Makefile # Main installation orchestrator
├── scripts/ # Installation scripts
│ ├── interactive_menu.sh # Interactive target selection
│ ├── install_methods.sh # Shared installation functions
│ ├── install_vim.sh # Vim/Neovim setup
│ ├── install_zsh.sh # Zsh setup
│ ├── install_others.sh # Additional tools entrypoint
│ └── install_others_menu.sh # Interactive additional-tools picker
├── .vimrc # Vim configuration
├── .zshrc # Zsh entrypoint (PATH, plugins, sources below)
├── aliases.zsh # Shell aliases (sourced by .zshrc)
├── functions.zsh # Shell functions (sourced by .zshrc)
├── plugins.zsh # Zap plugin list
├── completions.zsh # Completion setup (gh, terraform, dotnet, make)
├── AGENTS.md # AI-agent conventions (symlinked to Claude/Codex)
├── settings/ # App configs (Rectangle, IdeaVim)
├── WSL_Settings/ # Windows Terminal settings
├── .config/
│ ├── nvim/ # Neovim configuration (init.lua + lua/core, lua/plugins)
│ ├── herdr/ # Herdr user configuration
│ ├── kitty/ # Kitty terminal configuration
│ └── lazygit/ # LazyGit configuration
└── notes/ # Documentation and notes
- Modern Neovim configuration with LSP support
- Vim fallback configuration
- Custom keybindings and plugins
- File explorer and fuzzy finder
- Zap plugin manager
- Powerlevel10k theme
- Syntax highlighting and autosuggestions
- Git integration
- Custom aliases and functions
- kitty - GPU-accelerated terminal
- lazygit - Terminal UI for git
- lazydocker - Terminal UI for docker
- fzf - Fuzzy finder
- ripgrep - Fast grep alternative
- bat - Cat alternative with syntax highlighting
- lsd - Modern ls alternative
-
zsh compinit: insecure directories
compaudit | xargs chmod g-w -
Node.js issues
npm install -g neovim
-
Python issues
$(which python3) -m pip install pynvim -
Update C# language server
dotnet tool update -g csharp-ls
-
FNM Error 13 permission denied
sudo chown -R $(whoami) /run/user/1000/ -
GitHub Projects v2 permission error
gh auth refresh -s read:project
-
WSL clipboard issues
choco install win32yank
-
Linux clipboard issues
# Ubuntu sudo apt install xsel xclip -y # Arch Linux sudo pacman -S xsel
-
Linux (Ubuntu) Programs
- CopyQ (Clipboard Manager) :
sudo apt install copyq - Window management
- Install
Extension Managerand addTiling Assistantsudo apt install gnome-shell-extension-manager - Enable window size with
Super + right click:gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true
- Install
- Korean
sudo apt install ibus-hanguland set it in Settings > Keyboard - GPU Driver:
sudo ubuntu-drivers autoinstall - Font issue with brew:
mkdir -p ~/.local/share/fonts ln -sfn $(brew --prefix)/share/fonts ~/.local/share/fonts/brewfonts fc-cache -fv
- Key repeat interval
gsettings set org.gnome.desktop.peripherals.keyboard delay 200 gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 20
- CopyQ (Clipboard Manager) :
-
WSL Docker completions error
# Remove symlink sudo rm -rf /usr/share/zsh/vendor-completions/_docker # Copy WSL completions sudo cp /mnt/wsl/docker-desktop/cli-tools/usr/share/zsh/vendor-completions/_docker /usr/share/zsh/vendor-completions/ # Make it read-only sudo chattr +i /usr/share/zsh/vendor-completions/_docker
Run make help to see all available targets:
make helpMain targets:
make all- Interactive installation menumake vim- Install Vim/Neovimmake zsh- Install Zsh configuration (+ agent hooks + AGENTS.md symlinks)make others- Install additional toolsmake brew- Install Homebrewmake fonts- Install FiraCode Nerd Fontmake agents- SymlinkAGENTS.mdinto Claude Code (~/.claude/CLAUDE.md) and Codex (~/.codex/AGENTS.md)make gitignore- Addck_*to global gitignore + setcore.excludesfilemake symlink- Create all symlinksmake reset- Remove all symlinksmake help- Show help message
Feel free to submit issues and pull requests!
MIT License - feel free to use and modify as needed.