Skip to content

Sauski/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Configuration files for development environments.

Directory Structure

.config/
  nvim/           - Neovim configuration
    init.lua      - Main config file
    pack/         - Native Vim 8+ package management (plugins in pack/plugins/start/)
  neovide/        - Neovide GUI configuration
  alacritty/      - Alacritty terminal configuration
claude-config/
  CLAUDE.md       - Claude Code global instructions
  settings.local.json - Claude Code settings
bin/
  windows/        - Windows binaries (e.g., rg.exe)
  macos/          - macOS binaries
  linux/          - Linux binaries
setup.ps1         - Windows setup script
setup.sh          - macOS/Linux setup script

Setup

Windows: .\setup.ps1 in PowerShell (requires Administrator privileges) macOS/Linux: ./setup.sh in terminal

Scripts create symlinks for config directories and hard links for Claude Code config files to OS-specific locations. Adds OS-specific bin/ subdirectory to PATH.

What Gets Linked

  • Neovim: .config/nvim~/.config/nvim (symlink)
  • Neovide: .config/neovide~/.config/neovide (Windows) or ~/.config/neovide (macOS/Linux) (symlink)
  • Alacritty: .config/alacritty%APPDATA%\alacritty (Windows symlink)
  • Claude Code: claude-config/CLAUDE.md~/.claude/CLAUDE.md (hard link)
  • Claude Code: claude-config/settings.local.json~/.claude/settings.local.json (hard link)

Hard links ensure Claude Code config is tracked in git while operational data (history, debug logs) stays local.

Neovim Configuration

  • Plugin Management: Native Vim 8+ package management
  • Leader Key: Space
  • Tab Settings: 2 spaces, expanded tabs

Plugins

leap.nvim - Motion plugin for jumping to any location

  • s - Jump anywhere (all windows)
  • S - Jump in current window only

telescope.nvim - Fuzzy finder

  • <leader>f - Find files
  • <leader>g - Live grep
  • <leader>b - Buffers
  • <leader>h - Help tags
  • <leader>e - Diagnostics

nvim-treesitter - Syntax highlighting and code parsing

auto-save.nvim - Automatically saves files on buffer changes

auto-session - Automatic session persistence per directory

  • Sessions saved to ~/.local/share/nvim/sessions/
  • Session created per working directory (cwd)
  • Important: Opening nvim with file arguments (e.g., clicking a file in Windows) prevents session creation/restore. Open nvim without args to use sessions.
  • <leader>s - Search and switch sessions

quickbuild - Build automation

  • <leader>bb - Run build
  • <leader>bc - Cancel build

clang-format - C/C++ code formatting (Chromium style)

  • <leader>w - Format and save

nvim-cmp - Completion engine with terminal-style behavior

  • Ctrl+e - Show menu and complete common prefix, subsequent presses continue completing
  • Enter - Confirm selection
  • Esc - Abort completion
  • Manual-only mode with tree-sitter source
  • Local Modifications:
    • cmp-treesitter/lua/cmp_treesitter/init.lua:62 - Fixed bug where current word wasn't filtered (changed input ~= word to input ~= word.word)

Editor Features

Diagnostics

  • ]d - Next diagnostic
  • [d - Previous diagnostic
  • <leader>d - Show diagnostic float

Scrolling (prevents scrolling into empty space)

  • Ctrl+d - Scroll down 15 lines
  • Ctrl+u - Scroll up 15 lines

Split Window Management (splits don't auto-equalize)

  • Alt+] - Cycle forward through splits
  • Alt+[ - Cycle backward through splits
  • Alt+{ - Close current split
  • Alt+} - Equalize all splits
  • Alt+Ctrl+PageUp - Create vertical split
  • Alt+Ctrl+PageDown - Create horizontal split
  • Alt+( - Decrease split width
  • Alt+) - Increase split width

Adding Plugins

Clone into .config/nvim/pack/plugins/start/ and add setup call in init.lua if needed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors