git clone --recurse-submodules git@github.com:claydugo/dotfiles.git ~/dotfiles
cd ~/dotfiles
./scripts/bootstrap.shWhat bootstrap.sh does
flowchart LR
A[bootstrap.sh] --> B[Symlink configs<br>into $HOME / XDG dirs]
B --> C[Install terminal<br>Kitty / WezTerm]
C --> D[Install Pixi]
D --> E[pixi global install<br>CLI tools]
E --> F[NVM + Node<br>Claude Code]
F --> G[Neovim: restore plugins,<br>Treesitter parsers, Mason LSPs]
Supports Linux, macOS, and Windows (MSYS2/Git Bash); OS-specific steps are skipped where they don't apply.
Structure (75 tracked files)
.
├── .aliases
├── .bashrc
├── .claude
│ ├── CLAUDE.md
│ ├── commands
│ │ ├── commitmsg.md
│ │ ├── interview.md
│ │ ├── jj.md
│ │ ├── luaist.md
│ │ ├── pythonista.md
│ │ ├── rebase.md
│ │ └── remove_slop.md
│ ├── settings.json
│ └── statusline.sh
├── .config
│ ├── .ripgreprc
│ ├── jj
│ │ └── config.toml
│ ├── kitty
│ │ └── kitty.conf
│ ├── nvim
│ │ ├── .luarc.json
│ │ ├── after
│ │ │ └── queries
│ │ │ └── jinja
│ │ │ └── injections.scm
│ │ ├── bin
│ │ │ └── zig-cc.cmd
│ │ ├── ftplugin
│ │ │ └── lua.lua
│ │ ├── init.lua
│ │ ├── lua
│ │ │ ├── config
│ │ │ │ └── pack.lua
│ │ │ ├── headless_install.lua
│ │ │ ├── langserver_icons.lua
│ │ │ ├── maps.lua
│ │ │ ├── options.lua
│ │ │ ├── packages.lua
│ │ │ └── plugins
│ │ │ ├── blink-cmp.lua
│ │ │ ├── browsher.lua
│ │ │ ├── dropbar.lua
│ │ │ ├── gitsigns.lua
│ │ │ ├── lazydev.lua
│ │ │ ├── lsp.lua
│ │ │ ├── markdown.lua
│ │ │ ├── mini.lua
│ │ │ ├── noice.lua
│ │ │ ├── showtime.lua
│ │ │ ├── telescope.lua
│ │ │ ├── tip_of_my_buffer.lua
│ │ │ ├── tokyonight.lua
│ │ │ └── treesitter.lua
│ │ └── spell
│ │ └── en.utf-8.add
│ ├── starship.toml
│ └── wezterm
│ └── wezterm.lua
├── .gitattributes
├── .gitconfig
├── .gitignore
├── .gitlab_ci_skip
├── .gitmodules
├── .ipython
│ ├── __init__.py
│ └── profile_default
│ └── startup
│ └── 00-conf.py
├── .local
│ └── bin
│ └── build_nvim.sh
├── .pre-commit-config.yaml
├── .stylua.toml
├── .tmux.conf
├── .yamlfmt
├── README.md
├── scripts
│ ├── bootstrap.sh
│ ├── generate_readme.sh
│ └── install_google_sans_code.sh
├── selene.toml
└── vim.yml
Installed by scripts/bootstrap.sh via pixi global:
| Tool | Linux | macOS | Windows |
|---|---|---|---|
nvim |
✅ | ✅ | ✅ |
starship |
✅ | ✅ | ✅ |
eza |
✅ | ✅ | ✅ |
bat |
✅ | ✅ | ✅ |
fzf |
✅ | ✅ | ✅ |
ripgrep |
✅ | ✅ | ✅ |
fd-find |
✅ | ✅ | ✅ |
cmake |
✅ | ✅ | ✅ |
make |
✅ | ✅ | ✅ |
openssl |
✅ | ✅ | ✅ |
rattler-build |
✅ | ✅ | ✅ |
stylua |
✅ | ✅ | ✅ |
selene |
✅ | ✅ | ✅ |
jujutsu |
✅ | ✅ | ✅ |
hyperfine |
✅ | ✅ | ✅ |
tree-sitter-cli |
✅ | ✅ | ✅ |
ty |
✅ | ✅ | ✅ |
bash |
✅ | ✅ | — |
git |
✅ | ✅ | — |
curl |
✅ | ✅ | — |
tmux |
✅ | ✅ | — |
htop |
✅ | ✅ | — |
wget |
✅ | ✅ | — |
unzip |
✅ | ✅ | — |
fastfetch |
✅ | ✅ | — |
xclip |
✅ | — | — |
fswatch |
✅ | — | — |
gifski |
✅ | — | — |
zig |
— | — | ✅ |
fnm |
— | — | ✅ |
ninja |
— | — | ✅ |
- Pixi
- NVM (Linux/macOS) / fnm (Windows)
- Claude Code
- Kitty (Linux/macOS) / WezTerm (Windows)
- Google Sans Code Nerd Font
Plugins (26, managed by vim.pack)
- luvit-meta by
Bilal2453 - browsher.nvim by
claydugo - dropbar.nvim by
claydugo - showtime.nvim by
claydugo - tip_of_my_buffer.nvim by
claydugo - telescope-undo.nvim by
debugloop - mini.nvim by
echasnovski - lazydev.nvim by
folke - noice.nvim by
folke - tokyonight.nvim by
folke - gitsigns.nvim by
lewis6991 - mason.nvim by
mason-org - markdown.nvim by
MeanderingProgrammer - nui.nvim by
MunifTanjim - nvim-lspconfig by
neovim - plenary.nvim by
nvim-lua - telescope-fzf-native.nvim by
nvim-telescope - telescope-ui-select.nvim by
nvim-telescope - telescope.nvim by
nvim-telescope - nvim-web-devicons by
nvim-tree - nvim-treesitter by
nvim-treesitter - nvim-treesitter-textobjects by
nvim-treesitter - friendly-snippets by
rafamadriz - nvim-notify by
rcarriga - blink.cmp by
saghen - nvim-ts-autotag by
windwp
Treesitter parsers: python, lua, wgsl, cuda, rust, c, bash, html, markdown, markdown_inline, json, toml, yaml, jinja, jinja_inline, qmldir, luadoc, desktop, ssh_config, git_config, git_rebase, gitattributes, gitcommit, gitignore
Mason packages: biome, harper-ls, bash-language-server, copilot-language-server, emmylua_ls, rust-analyzer, shellcheck, wgsl-analyzer, clangd, taplo, yaml-language-server
# After cloning
git submodule update --init
# To update submodules
git submodule update --remote