my dotfiles for development on macOS
Structured to work with GNU Stow
$ git clone https://github.com/ahstn/dotfiles.git
$ cd dotfiles/
$ stow --target $HOME zsh
etc, etc..
Dependencies & Install Commands
General tools:
brew install rg fzf zsh gpg2 git tmux neovim stow exa
brew install kitty
brew install --cask font-hack-nerd-font font-jetbrains-mono
brew install --cask raycastSpecific development tools:
brew install golang nodejs rust yarn coreutils kubectl kubectx helm
brew install --cask visual-studio-codeNeoVim TLDR
Requires wbthomason/packer.nvim for plugin management, and will install on start-up.
Most keybinds are detailed with folke/which-key.nvim in ./neovim/lua/mappings.lua.
Helpful keybinds for my forgetful mind:
- space : leader key (also opens folke/which-key.nvim menu)
- space + l : lsp actions
- space + s : search with nvim-telescope/telescope.nvim
- ' : marks
- shift + h : lsp symbol hover
- ctrl + w : split navigation and management (also opens folke/which-key.nvim menu)
- [ & ] : movement actions (also opens folke/which-key.nvim menu)
- phaazon/hop.nvim
- s : search down
- S : search up
- tpope/vim-surround
- ysiw) : surround (inner) word with parentheses
- ds) : remove surrounding parentheses
- cs)} : change surrounding parentheses to braces
- nvim-telescope/telescope.nvim
- : open file as a horizontal split
- : open file as a vertical split
- ? : show mappings
K: Displays hover information about the symbol under the cursor in a floating window. See :help vim.lsp.buf.hover().gd: Jumps to the definition of the symbol under the cursor. See :help vim.lsp.buf.definition().gD: Jumps to the declaration of the symbol under the cursor. Some servers don't implement this feature. See :help vim.lsp.buf.declaration().gi: Lists all the implementations for the symbol under the cursor in the quickfix window. See :help vim.lsp.buf.implementation().go: Jumps to the definition of the type of the symbol under the cursor. See :help vim.lsp.buf.type_definition().gr: Lists all the references to the symbol under the cursor in the quickfix window. See :help vim.lsp.buf.references().gs: Displays signature information about the symbol under the cursor in a floating window. See :help vim.lsp.buf.signature_help(). If a mapping already exists for this key this function is not bound.<F2>: Renames all references to the symbol under the cursor. See :help vim.lsp.buf.rename().<F3>: Format code in current buffer. See :help vim.lsp.buf.format().<F4>: Selects a code action available at the current cursor position. See :help vim.lsp.buf.code_action().gl: Show diagnostics in a floating window. See :help vim.diagnostic.open_float().[d: Move to the previous diagnostic in the current buffer. See :help vim.diagnostic.goto_prev().]d: Move to the next diagnostic. See :help vim.diagnostic.goto_next().
Tmux TLDR
Requires tmux-plugins/tpm for plugin management, and will install on start-up.
Helpful keybinds for my forgetful mind:
- ctrl+space : leader
- $ : rename session
- s : open sessions pane
- c : create tab
- , : rename tab
- % : vertical split
- " : horizontal split
- ctrl+s : save sessions (tmux-ressurect)
- ctrl+r : restore sessions (tmux-ressurect)
meain- for layout inspo and vim configposquit0- for layout inspokutsan- for cool vim stuffaugustocdias- neovim setupthanhvule0310- tmux & neovim setup