Skip to content

3p5ilon/dotfiles

Repository files navigation

dotfiles

Neovim
Yazi CLI Tools
Btop fastfetch

About

My development environment for macOS and Linux, managed with GNU Stow for easy deployment across machines.

Feel free to use as inspiration, but make sure you understand what each config does before copying. When in doubt, Google it or ask AI.

What's Included

Core

Tool Location Description
Neovim ~/.config/nvim Text editor with LSP, treesitter, fzf, DAP
Tmux ~/.tmux.conf Terminal multiplexer
Kitty ~/.config/kitty GPU-accelerated terminal
Ghostty ~/.config/ghostty Fast native terminal
Vim ~/.vimrc Basic Vim config with essential plugins
Zsh ~/.zshrc Shell with Zinit plugin manager
Starship ~/.config/starship.toml Cross-shell prompt
Git ~/.gitconfig Git config with delta and sensible defaults
Delta ~/.config/delta Syntax-highlighted git diffs with Catppuccin theme
Catppuccin Mocha Colorscheme across all tools
JetBrainsMono Nerd Font Monospace font with icons
GNU Stow ~/.dotfiles Dotfiles manager

CLI Tools

Tool Location Replaces Description
eza ~/.zshrc ls Better ls with icons and git status
bat ~/.config/bat cat Better cat with syntax highlighting
zoxide ~/.zshrc cd Smart cd that learns your habits
fzf ~/.zshrc Fuzzy finder for files, history, dirs
fd ~/.zshrc find Better find
ripgrep ~/.zshrc grep Better grep
tldr ~/.zshrc man Simplified man pages
yazi ~/.config/yazi Terminal file manager
btop ~/.config/btop top System monitor
fastfetch ~/.config/fastfetch System info display
lazygit ~/.zshrc Terminal UI for git
delta ~/.gitconfig Better git diff pager

Setup

This repo uses GNU Stow to symlink dotfiles into the appropriate locations.

Warning

This will overwrite your existing configuration files. A backup is created automatically during installation.

Prerequisites

# macOS
xcode-select --install  # gcc, make, git, python3
brew install git stow neovim tmux starship node python go \
             ripgrep fzf fd eza zoxide bat yazi btop fastfetch tlrc lazygit git-delta
brew install --cask kitty ghostty font-jetbrains-mono-nerd-font
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  # rust

# Linux (Ubuntu/Debian)
sudo apt update && sudo apt install -y git stow neovim tmux nodejs python3 python3-pip golang \
    ripgrep fzf fd-find eza zoxide bat yazi btop fastfetch tlrc lazygit gcc make
curl -sS https://starship.rs/install.sh | sh  # starship
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  # rust
cargo install git-delta  # delta
# Kitty:   https://sw.kovidgoyal.net/kitty/
# Ghostty: https://ghostty.org/download
# Font:    https://www.nerdfonts.com/font-downloads (JetBrainsMono Nerd Font)

Note

If you encounter errors during installation, refer to the package's documentation.

node, gcc, make, python3, go, rustc, and ripgrep are required for Neovim LSP servers and DAP debuggers.

Quick Install

git clone https://github.com/3p5ilon/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

./install.sh

Manual Installation

git clone https://github.com/3p5ilon/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

# Backup existing configs
mkdir -p ~/dotfiles-backup
cp ~/.zshrc ~/.vimrc ~/.tmux.conf ~/.gitconfig ~/.gitignore_global ~/dotfiles-backup/ 2>/dev/null
cp -r ~/.config/nvim ~/.config/kitty ~/.config/ghostty ~/dotfiles-backup/ 2>/dev/null
cp -r ~/.config/bat ~/.config/btop ~/.config/fastfetch ~/.config/yazi ~/.config/delta ~/dotfiles-backup/ 2>/dev/null
cp ~/.config/starship.toml ~/dotfiles-backup/ 2>/dev/null

# Remove originals
rm -rf ~/.config/nvim ~/.config/kitty ~/.config/ghostty \
       ~/.config/bat ~/.config/btop ~/.config/fastfetch ~/.config/yazi ~/.config/delta \
       ~/.tmux.conf ~/.zshrc ~/.vimrc ~/.gitconfig ~/.gitignore_global \
       ~/.config/starship.toml

# Create symlinks
stow -vt ~ */

# Install TPM and tmux plugins
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
~/.tmux/plugins/tpm/bin/install_plugins

Post-Installation

  • Neovim: Open nvim — plugins auto-install via lazy.nvim, then wait for Mason to finish
  • Tmux: Plugins are installed automatically via TPM — if missing, press Ctrl-a + I inside tmux
  • Shell: Restart your terminal or run source ~/.zshrc — Zinit will auto-install all Zsh plugins on first run
  • Git: Update [user] and [github] in git/.gitconfig with your own details

Managing Configs

stow -vt ~ nvim       # stow a package
stow -Dvt ~ nvim      # remove symlinks
ls -la ~/.config/nvim # verify: should point to ~/.dotfiles/nvim/.config/nvim

License

MIT

About

My dotfiles for macOS and Linux.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors