Skip to content

ncnthien/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

347 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles of ncnthien

A modern, AI-enhanced development environment for macOS, centered around Neovim, Alacritty, tmux, and the AeroSpace tiling window manager. Everything is wired up through a single install.sh that creates symlinks and installs the required external plugins.

Overview

Editor — Neovim

Fully modular configuration managed with lazy.nvim. Leader key is <space>; open Neovim with the v alias (not nvim).

Terminal — Alacritty

  • GPU-accelerated terminal, maximized on startup, buttonless decorations
  • Kanagawa Dragon theme (alacritty/kanagawa-dragon.toml)
  • JetBrainsMono Nerd Font
  • Custom key bindings (e.g. Shift+Enter, Ctrl+.)

Multiplexer — tmux

  • Prefix remapped to M-Space, mouse on, zero escape time
  • tmux-kanagawa (Dragon variant)
  • Plugins managed by TPM

Window management — AeroSpace

  • AeroSpace tiling window manager (.aerospace.toml)
  • Alt-based focus/move/resize keybinds, U/I/O/P workspaces
  • Integrates with SketchyBar and JankyBorders via startup hooks

Shell — zsh

  • oh-my-zsh with Powerlevel10k theme
  • Plugins: git, zsh-autosuggestions, zsh-nvm (external plugins auto-installed by install.sh)
  • fzf key bindings, lsd for ls
  • Aliases: v (nvim), l / ls (lsd), dot (/dotfiles), bin (/bin)

Prerequisites

Installation

Clone the repo into ~/dotfiles:

git clone git@github.com:ncnthien/dotfiles.git ~/dotfiles

Run the install script to create symlinks and install external plugins:

cd ~/dotfiles
chmod +x ./install.sh
bash ./install.sh

install.sh is idempotent (safe to re-run) and will:

  • Create ~/.config as a real directory and symlink alacritty/ and nvim/ into it
  • Symlink .zshrc, .tmux.conf, and .aerospace.toml into $HOME
  • Clone the external oh-my-zsh plugins (zsh-autosuggestions, zsh-nvm)
  • Clone TPM for tmux

After installing:

  • Reload your shell: source ~/.zshrc
  • Open tmux and press prefix + I (M-Space then I) to install tmux plugins
  • Open Neovim with v — lazy.nvim bootstraps and installs everything on first launch

Troubleshooting

My nvim does not work anymore?

Use v instead of nvim — the alias is set in .zshrc.

Treesitter errors (module 'nvim-treesitter.configs' not found or attempt to call method 'range')?

The config uses nvim-treesitter's main branch (required for Neovim 0.11+/0.12). After changing branches run :Lazy sync (and :Lazy clean if needed) so lazy.nvim checks out main, then :TSUpdate to rebuild the parsers.

Autosuggestions / nvm not loading in zsh?

zsh-autosuggestions and zsh-nvm are external oh-my-zsh plugins. Re-run bash ./install.sh to clone them, then source ~/.zshrc.

Feel free to open an issue if you run into problems with this repo.

About

dotfiles of ncnthien

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages