Skip to content

v420v/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Personal configuration files for macOS development environment.

Directory Structure

.zshrc                  Zsh shell configuration (prompt, plugins)
zsh/
  .zsh_aliases          Shell aliases (eza, etc.)
nvim/
  init.lua              Neovim entry point
  lua/
    options.lua         Editor options (indentation, UI, etc.)
    keymaps.lua         Global key mappings
    plugins.lua         Plugin declarations (packer.nvim)
    plugins/
      treesitter.lua    Syntax highlighting + language indent settings
      lualine.lua       Status line
      nvim-tree.lua     File explorer
      bufferline.lua    Buffer tabs
      telescope.lua     Fuzzy finder
      spectre.lua       Project-wide search and replace
      gitsigns.lua      Git diff signs in gutter
      lsp.lua           LSP, Mason, diagnostics
      cmp.lua           Autocompletion (nvim-cmp + LuaSnip)
      autopairs.lua     Auto bracket/tag pairing
git/
  .gitconfig            Git user, aliases, editor settings
  ignore                Global gitignore
alacritty/
  alacritty.toml        Alacritty terminal configuration
wezterm/
  wezterm.lua           WezTerm terminal configuration
symlink.sh              Script to create all symbolic links

Setup

  1. Clone this repo to ~/dotfiles

  2. Run the symlink script:

    chmod +x symlink.sh
    ./symlink.sh

    This creates the following symlinks:

    ~/.config/alacritty/alacritty.toml
    ~/.config/wezterm/wezterm.lua
    ~/.config/nvim               -> nvim/
    ~/.gitconfig
    ~/.config/git/ignore
    ~/.zsh_aliases
    ~/.zshrc
    
  3. Open Neovim. On first launch, packer.nvim bootstraps itself and installs all plugins. Run :PackerSync to ensure everything is up to date.

  4. Mason (LSP installer) will install language servers automatically. To manage them manually: :Mason

Neovim Key Mappings (Leader = Space)

File Explorer

Key Action
<leader>e Toggle file explorer (nvim-tree)

Buffers

Key Action
<Tab> / <S-Tab> Next / previous buffer
<leader>l / h Next / previous buffer
<leader>d / D Delete buffer (normal / force)

Telescope

Key Action
<leader>ff Find files
<leader>fg Live grep
<leader>fb Find open buffers
<leader>fh Find help tags

Search & Replace (Spectre)

Key Action
<leader>sr Open project-wide search/replace
<leader>sw Search current word

Git (Gitsigns)

Key Action
<leader>gh Preview hunk
<leader>gd Diff current file
<leader>gb Toggle line blame
<leader>gs / gu Stage / undo stage hunk
]h / [h Next / previous hunk

LSP

Key Action
jd / jD Go to definition / declaration
ji / jr Go to implementation / references
K Hover documentation
<leader>rn Rename symbol
<leader>ca Code action
<leader>f Format file
]d / [d Next / previous diagnostic

Windows

Key Action
<C-h/j/k/l> Move between splits

macOS Recommendations

# Disable .DS_Store on network drives
defaults write com.apple.desktopservices DSDontWriteNetworkStores true

# Fast key repeat
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 15

# Show hidden files in Finder
defaults write com.apple.finder AppleShowAllFiles ON

# Disable press-and-hold for key repeat (needed for nvim, etc.)
defaults write -g ApplePressAndHoldEnabled -bool false

About

dotfiles

Resources

Stars

Watchers

Forks

Contributors