Skip to content
johnpaulcasPublic

About

Personal dotfiles for Neovim, Tmux, and Zsh. Tweak keybindings and settings to suit your workflow.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

98 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Dotfiles

Minimal, personal Neovim + terminal setup powered by lazy.nvim.
Fast, clean, and ready to go - with LSP 🧠, fuzzy find 🔍, formatting ✨, autocompletion 🚀, and beautiful themes 🎨.

I use Ghostty as my terminal - GPU-rendered, ligature support, and blazing fast.


✨ Features


📦 Requirements

💡 This setup uses Homebrew to install dependencies.

If you don't have Homebrew installed, run the command below:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

🔗 Visit brew.sh to check for the latest installation command if the one above doesn't work.

Install the following tools using Homebrew:

brew install fzf tmux neovim git node rust python lazygit starship

🛠️ Setup Steps

⚙️ Setup

Make sure to back up your existing configs before proceeding.

1. Backup existing configs

[ -d ~/.config/nvim ] && mv ~/.config/nvim ~/.config/nvim.bak
[ -f ~/.zshrc ] && mv ~/.zshrc ~/.zshrc.bak
[ -f ~/.tmux.conf ] && mv ~/.tmux.conf ~/.tmux.conf.bak

2. Clone this repo

git clone https://github.com/johnpaulcas/dotfiles ~/.dotfiles

3. Create config folder

mkdir -p ~/.config

4. Symlink configs

# Neovim
ln -s ~/.dotfiles/.config/nvim ~/.config/nvim

# Ghostty
ln -s ~/.dotfiles/.config/ghostty ~/.config/ghostty

# Tmux (optional)
ln -s ~/.dotfiles/.tmux.conf ~/.tmux.conf

# Zsh (optional)
ln -s ~/.dotfiles/.zshrc ~/.zshrc

⚠️ Make sure ~/.config/nvim does not already exist before symlinking.

Mouseless (macOS, Colemak-DH only)

Run this only if you use Colemak-DH, because this config's labels are set up for that layout.

Create the folder first. Don't create config.yaml by hand, the symlink provides it:

mkdir -p ~/Library/Application\ Support/Mouseless/configs

Then link the config:

ln -s ~/.dotfiles/.config/mouseless/config.yaml ~/Library/Application\ Support/Mouseless/configs/config.yaml

⚠️ If Mouseless already made its own config.yaml, move it first or ln says "File exists".

5. Launch Neovim

nvim

Neovim will install all plugins via lazy.nvim on first launch.


Install tmux/tpm

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Install the Catppuccin theme. It's cloned by hand instead of through TPM, and .tmux.conf loads it from this path:

git clone --depth 1 -b v2.3.2 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux

After installation enter to tmux mode by running

tmux

Reload TMUX environment so TPM is sourced:

tmux source ~/.tmux.conf

Press prefix + I (capital i, as in Install) to fetch the plugin


🟣 Kotlin LSP

Uses the official Kotlin LSP from JetBrains, installed through Mason. It bundles its own Java runtime, so no separate JDK is needed to run it.

Mason installs the server automatically when Neovim starts. If it's missing, install it manually inside Neovim:

:MasonInstall kotlin-lsp

💡 The download is large (about 1.1 GB once installed), so it can take a few minutes the first time.

Then open a .kt file from a Gradle or Maven project. The server only starts when it finds a project root such as settings.gradle.kts, build.gradle.kts or pom.xml. The first launch is slow while the project is imported and indexed.

⚠️ Kotlin LSP is in alpha, and Kotlin Multiplatform projects are not supported yet.


🖋 Fonts

Use any Nerd Font for icon support in Neovim, Tmux, and Zsh:


💡 Tips

  • :Lazy — open the plugin manager
  • :Mason — manage LSP servers and tools
  • :CheckHealth — check system dependencies
  • <leader>ff — fuzzy file finder
  • Customize themes in lazy.lua

Happy Hacking 💻✨

About

Personal dotfiles for Neovim, Tmux, and Zsh. Tweak keybindings and settings to suit your workflow.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages