A Quick Explanation of My Dev Tools

January 16th, 2026 — DevTools

TLDR: I use a bare git repo to manage my dotfiles across Neovim, Tmux, and Ghostty

The configuration files my for development tools are separated into their corresponding dot folder name. To copy them, clone the github repository with the --bare switch. This ensures that there is no working directory within your cloned repo. Then, copy the contents in the directory where you cloned the repo into your home directory. All files with the same name as the folders in the bare repo will overwrite the folders in the home directory. In my humble opinion, this is the simplest way to share config files, rather than creating a custom bash script with symbolic links.

Neovim

The neovim folder is organized within a lua folder. Generally, this makes it much easier for me to edit and add plugins. It is possible to remove all the contents in this file and just have all files within the nvim directory but things start to get messy when you have dozens of different config files for different plugins.

Neovim - Walkthrough

The first portion of the plugin.lua file sets up lazy.nvim. My plugins are all located in that table. They include:

  • colorscheme
  • treesitter
  • portable package manager
  • lsp’s
  • file explorers (netrw is set by default but oil.nvim is included for easy setup)
  • harpoon
  • flash
  • lazygit
  • supermaven and many more..

I decided to use mason for my package manager (for now). To install lsp’s, run the :MasonInstall {lsp name} or the :Mason command to see the menu of available lsp’s. Lsp’s will automatically be configured because of the function in the mason-lsp-config.nvim table. If you aren’t able to find the appropriate lsp for your use case, you can always write you own or find it in the collections of lsp config in nvim-lspconfig.

Tmux

The tmux.conf file is the only thing I have setup for tmux. There are some configurations I plan on adding

Tmux - Walkthrough

The first portion of the file is focused on changing the default tmux key-bindings. Then, the colorscheme follows and lastly the plugins are included. The comments provide specification as to what exactly is in each section.

Ghostty

The Ghostty folder just contains some ui layout tweaks with some shortcuts. I do plan on utilizing a lot of the features that Ghostty provides but this is what I have for now.

If you’re curious as to why I chose these tools, my laptop couldn’t handle VSCode and Cursor. They both used too much of my cpu and memory. I do suspect it was because of certain extensions but I just ended up trying something new that stuck. Skill issues :/