Skip to content

corkovicjovan/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Personal development environment configuration files for macOS.

Contents

  • Neovim - Modern vim configuration with LSP, syntax highlighting, and plugins
  • Tmux - Terminal multiplexer configuration
  • Zsh - Shell configuration with aliases and functions
  • Kitty - GPU-accelerated terminal emulator configuration

Prerequisites

  • macOS (tested on Darwin 24.x)
  • Homebrew package manager
  • Git

Installation

1. Clone the Repository

git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles

2. Install Required Tools

# Install Neovim
brew install neovim

# Install Tmux
brew install tmux

# Install Kitty terminal
brew install --cask kitty

# Install Zsh (usually pre-installed on macOS)
brew install zsh

# Install Oh My Zsh (optional but recommended)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

3. Create Symlinks

Run these commands to create symbolic links from your home directory to the dotfiles:

# Zsh configuration
ln -sf ~/dotfiles/.zshrc ~/.zshrc

# Tmux configuration
ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf

# Neovim configuration
mkdir -p ~/.config
ln -sf ~/dotfiles/nvim ~/.config/nvim

# Kitty terminal configuration
ln -sf ~/dotfiles/kitty ~/.config/kitty

4. Set Up Environment Variables

# Copy the example environment file
cp .env.example .env

# Edit .env with your actual values
# IMPORTANT: Never commit the .env file!
vim .env

5. Install Neovim Plugins

Launch Neovim and it will automatically install plugins via Lazy.nvim:

nvim
# Wait for plugins to install automatically
# Or run :Lazy to see plugin manager

Configuration Structure

dotfiles/
├── .zshrc                 # Zsh shell configuration
├── .tmux.conf            # Tmux configuration
├── nvim/                 # Neovim configuration directory
│   ├── init.lua         # Main Neovim config
│   ├── lua/             # Lua configuration modules
│   │   ├── config/     # Core configuration
│   │   └── plugins/    # Plugin configurations
│   └── lazy-lock.json  # Plugin version lock file
├── kitty/               # Kitty terminal configuration
│   └── kitty.conf      # Main Kitty config
├── .env.example         # Environment variables template
└── .gitignore          # Git ignore patterns

Customization

Adding SSH Aliases

Edit .zshrc and add your SSH aliases in the designated section:

alias ssh-myserver="ssh user@hostname"

Environment Variables

All sensitive configuration should be stored in .env (never committed). See .env.example for available options.

Neovim Plugins

Plugins are managed by Lazy.nvim. To add new plugins:

  1. Create a new file in nvim/lua/plugins/
  2. Define your plugin configuration
  3. Restart Neovim

Updating

To update your dotfiles:

cd ~/dotfiles
git pull origin main

To update Neovim plugins:

nvim
:Lazy update

Troubleshooting

Symlinks Not Working

If symlinks aren't working, ensure:

  1. The dotfiles directory exists at ~/dotfiles
  2. Remove any existing config files before creating symlinks
  3. Use absolute paths if relative paths don't work

Neovim Issues

If Neovim plugins aren't loading:

# Clear Neovim cache
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.cache/nvim

# Restart Neovim
nvim

Tmux Issues

If Tmux config isn't loading:

# Reload Tmux configuration
tmux source-file ~/.tmux.conf

Security Notes

This repository has been cleaned of sensitive information. However:

  • Never commit .env files
  • Keep API keys and passwords in environment variables
  • Review changes before committing
  • Use .env.example as a template

License

MIT

Author

Your Name Here

About

Dotfiles for nvim, tmux... configs...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published