dotfiles
my dotfiles for development on macOS
🚀 Usage
Structured to work with GNU Stow
$ git clone https://github.com/ahstn/dotfiles.git
$ cd dotfiles/
$ stow --target $HOME zsh
etc, etc..
✨ Setup & Application Specifics
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 raycast
Specific development tools:
brew install golang nodejs rust yarn coreutils kubectl kubectx helm
brew install --cask visual-studio-code
NeoVim 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)
🙌 Acknowledgements
meain
- for layout inspo and vim configposquit0
- for layout inspokutsan
- for cool vim stuffaugustocdias
- neovim setupthanhvule0310
- tmux & neovim setup