initial dotfiles
This commit is contained in:
commit
a11473e308
20 changed files with 2831 additions and 0 deletions
88
CLAUDE.md
Normal file
88
CLAUDE.md
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Overview
|
||||
|
||||
Dotfiles repo managing configs for WezTerm, Neovim, and Zsh (oh-my-zsh + p10k) with symlinks. Cross-platform: EndeavourOS (primary desktop) and Windows.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
dotfiles/
|
||||
├── zsh/
|
||||
│ ├── .zshrc # Zsh config (oh-my-zsh, p10k, aliases, plugins)
|
||||
│ ├── .p10k.zsh # Powerlevel10k prompt config
|
||||
│ └── custom/themes/ # Custom bira-nerd themes
|
||||
├── wezterm/
|
||||
│ └── wezterm.lua # WezTerm config (CovenantUI color scheme, JetBrainsMono Nerd Font)
|
||||
├── nvim/ # Neovim config (lazy.nvim, IDE-like setup)
|
||||
│ ├── init.lua
|
||||
│ └── lua/
|
||||
│ ├── options.lua
|
||||
│ ├── keymaps.lua
|
||||
│ └── plugins/
|
||||
│ ├── colorscheme.lua # catppuccin mocha
|
||||
│ ├── ui.lua # lualine, bufferline, indent-blankline
|
||||
│ ├── explorer.lua # neo-tree (<leader>e)
|
||||
│ ├── telescope.lua # fuzzy finder (<leader>ff/fg/fb/fr)
|
||||
│ ├── treesitter.lua # syntax highlighting
|
||||
│ ├── lsp.lua # mason + lspconfig + nvim-cmp (bash, python, C#)
|
||||
│ └── editor.lua # autopairs, which-key, gitsigns
|
||||
├── bootstrap.sh # Linux setup script
|
||||
└── bootstrap.ps1 # Windows setup script (requires admin)
|
||||
```
|
||||
|
||||
## Bootstrap / Setup
|
||||
|
||||
```bash
|
||||
# Linux — installs oh-my-zsh, powerlevel10k, zsh plugins, then symlinks everything
|
||||
bash bootstrap.sh
|
||||
|
||||
# Windows (PowerShell, run as Administrator)
|
||||
.\bootstrap.ps1
|
||||
```
|
||||
|
||||
On Linux, symlinks are created:
|
||||
- `~/.zshrc` → `zsh/.zshrc`
|
||||
- `~/.p10k.zsh` → `zsh/.p10k.zsh`
|
||||
- `~/.oh-my-zsh/custom/themes/*.zsh-theme` → `zsh/custom/themes/`
|
||||
- `~/.wezterm.lua` → `wezterm/wezterm.lua`
|
||||
- `~/.config/nvim` → `nvim/`
|
||||
|
||||
Neovim plugins install automatically on first `nvim` launch (lazy.nvim bootstraps itself).
|
||||
|
||||
## Key Conventions
|
||||
|
||||
- **No dotfile managers** — symlinks only, managed by bootstrap scripts.
|
||||
- **OS detection in configs**, not in bootstrap:
|
||||
- WezTerm: `wezterm.target_triple`
|
||||
- Neovim: `vim.loop.os_uname()`
|
||||
- **System clipboard by default** — `y`/`p` in Neovim use the OS clipboard (`unnamedplus`).
|
||||
- **Space as leader key** in Neovim.
|
||||
|
||||
## Neovim Key Mappings
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `<leader>e` | Toggle file tree |
|
||||
| `<leader>o` | Reveal current file in tree |
|
||||
| `<leader>ff` | Find files |
|
||||
| `<leader>fg` | Search text in project |
|
||||
| `<leader>fb` | Switch open buffers |
|
||||
| `<leader>fr` | Recent files |
|
||||
| `<S-l>` / `<S-h>` | Next / prev buffer |
|
||||
| `<leader>x` | Close buffer |
|
||||
| `K` | Hover LSP docs |
|
||||
| `gd` | Go to definition |
|
||||
| `<leader>rn` | Rename symbol |
|
||||
| `<leader>ca` | Code actions |
|
||||
| `<leader>d` | Line diagnostics |
|
||||
| `jk` | Exit insert mode |
|
||||
|
||||
## Zsh Plugins (installed by bootstrap.sh)
|
||||
|
||||
- `zsh-autosuggestions`
|
||||
- `zsh-syntax-highlighting`
|
||||
- `zsh-completions`
|
||||
- `fast-syntax-highlighting`
|
||||
Loading…
Add table
Add a link
Reference in a new issue