Skip to content

hackmad/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Zsh

ln -s <path-to-dotfiles>/zshrc ~/.zshrc

Tmux

ln -s <path-to-dotfiles>/tmux.conf ~/.tmux.conf

See Tmux Plugin Manager for setting up plugins.

brew install zellij
ln -s <path-to-dotfiles>/zellij ~/.config/zellij
ln -s <path-to-dotfiles>/alacritty ~/.config/alacritty

Setup themes

git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty-theme
ln -s <path-to-dotfiles>/wezterm ~/.config/wezterm

Fonts

These fonts are nice to have and can be used for 'vim-devicons' / nvim-web-devicons plugins:

brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font

Vim

See vim/.vimrc file in this repo for use with vim.

Neovim

Install the following dependencies:

  • yarn
  • brew install fd
  • brew install fzf
  • brew install ripgrep
  • brew install xclip
  • brew install ccls
  • brew install cmake
  • brew install bear
  • cargo install proximity-sort
  • pip3 install --user jedi
  • pip3 install --user pynvim
  • pip3 install --upgrade neovim

You can symlink the configuration in ./nvim to ~/.config/nvim (on MacOS):

ln -s <path-to-dotfiles>/nvim ~/.config/nvim

For opinionated configs:

  1. LunarVim

    ln -s <path-to-dotfiles>/lunarvim/lvim ~/.config/lvim
  2. AstroNvim

    See Astronvim Config repository for setting up Astronvim and clone the config for it.

    Run neovim and install additional language servers:

    :LspInstall clangd rust_analyzer sumneko_lua cmake marksman vimls
    

    Install additional tree sitter:

    :TSInstall bash cpp c lua markdown rust
    
  3. Lazyvim

    See Lazyvim Config repository for setting up Lazyvim and clone the config for it.

  4. NvChad

    See NvChad Config repository for setting up NvChad and clone the config for it.

Rust

Install rust

Install gdb

Change the debugger to rust-gdb:

:let termdebugger="rust-gdb"

Add .gdbinit:

set startup-with-shell off

Vimspector is already in the configs.

Install gadgets (the config has vimspector_install_gadgets set to ones for Python, C++ and Rust):

:VimspectorInstall CodeLLDB

Add .vimspector.jsom in project root:

{
  "configurations": {
    "launch": {
      "adapter": "CodeLLDB",
      "filetypes": ["rust"],
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/target/debug/pbr-rust",
        "args": ["-t", "1", "scenes/test/example.pbrt"],
        "env": {
          "RUST_LOG": "info"
        }
      }
    }
  }
}

Add ~/.vim/plugged/vimspector/gadgets/macos/.gadgets.d/lldb-vscode.json:

{
  "adapters": {
    "lldb-vscode": {
      "variables": {
        "LLVM": {
          "shell": "brew --prefix llvm"
        }
      },
      "attach": {
        "pidProperty": "pid",
        "pidSelect": "ask"
      },
      "command": [
        "${LLVM}/bin/lldb-vscode"
      ],
      "env": {
        "LLDB_LAUNCH_FLAG_LAUNCH_IN_TTY": "YES"
      },
      "name": "lldb"
    }
  }
}

CMake / C++

Generate compile_commands.json in project folder root which can be used by clangd LSP with -DCMAKE_EXPORT_COMPILE_COMMANDS=ON.

cmake -D CMAKE_BUILD_TYPE=Debug -S . -B Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cp Debug/compile_commands.json ./

OR use bear:

bear -- cmake -D CMAKE_BUILD_TYPE=Debug -S . -B Debug

git-delta

See Getting Started for ~/.gitconfig changes (not committed in this repo so as not to expose name, email, etc.

brew install git-delta

lazygit

ln -s <path-to-dotfiles>/lazygit ~/.config/lazygit