Nick Nisi, a seasoned Staff Software Engineer from Omaha, NE. He works remotely for C2FO, a financial services company based in Kansas City. He spearheads initiatives within the developer experience team, with my expertise lying primarily in front-end technologies. He occasionally blogs at vim.dad.
Beyond the confines of his professional role, He thrives in organizing and hosting tech conferences. His journey includes nine successful events, including the prominent Nebraska JavaScript conference and TypeScript Conf US. He also channels his enthusiasm for technology and community-building into hosting the NebraskaJS meetup in Omaha.
He’s also a panelist on the popular JavaScript-focused podcast, JS Party. The show features a range of industry experts discussing the latest news and trends in the world of JavaScript, offering listeners an insightful look into the world of modern web development.
Neovim and Terminal
He started using Vim in 2005. For years, he would only use his college professor’s minimal .vimrc
. After college, he tried many other editors including TextMate, Sublime Text, and Notepad++. In 2012, he came back to Vim and has been using it exclusively ever since. At some point, probably around 2017, he made the switch to Neovim because he wanted the faster and more configurable editor, and eventually rewrote most of my VimScript configuration in Lua to take full advantage of all the new features and tooling!
He loves how personal it is. He has crafted everything about it, from the plugins he uses (current count is 85) to the keybindings and everything in between. It’s battle-tested and works great (for him)!
Favorite Tools
WezTerm - A terminal emulator that’s very fast and comes pre-configured with a lot of goodness, including themes, built-in support for Nerd Fonts, and the ability to really customize in fun and silly ways.
tmux - The terminal multiplexor he uses to really take Neovim from a terminal editor into my own personal IDE.
fzf - A fuzzy finder for the command line. he uses it for searching history and for fuzzy-completing file paths in scripts.
Neovim - A pretty awesome editor
ripgrep - A better grep tool written in Rust that offers a lot of extra configuration to support any file type. he uses it in and out of Neovim to quickly find and navigate through projects. It’s probably one of his most-used tools.
Proxyman - A web proxy he uses for quick debugging. Specifically, this tool lets him intercept specific GraphQL requests, manipulate the request or the response, injecting his changes to test out various scenarios in a more controlled way.
Cleanshot X - An amazing screenshot tool he uses for capturing everything and recording quick walkthrough videos for pull requests.
Raycast - A launcher for macOS that’s very extensible. He recently switched from Alfred and this tool has been taking over the responsibilities such as window management and clipboard management.
Obsidian - A markdown note-taking app with lots of power.
Dotfiles
You can find Nick’s dotfiles here
Since 2012, He has been meticulously honing my dotfiles setup, with several significant revisions marking my journey. Currently, he veers away from management tools like ‘stow’, choosing instead to control his own installer script. This bespoke setup allows him to establish a complete environment on a new machine in under 20 minutes - just by cloning and executing the installer!
He primarily configures tools like Neovim, Tmux, and Git in the repository. He has streamlined the process of installing additional tools by using a Brewfile
. While the setup is primarily optimized for macOS - His daily operating system - He has also ventured into extending some degree of Linux support, still employing Homebrew for this purpose.
When he sits down to work on a project, opens up a new terminal and immediately launches into Tmux. He has evolved into creating a new Tmux session per project that he works on. He tends to switch contexts a lot, so having a fully-fresh session per project works best for him.
To that end, he also tends to work on a lot of branches simultaneously within the same repo. He typically has a feature branch he is working on plus a couple of branches he is assisting others on. For this reason, he tends to use a bare clone for all of his projects and then he’ll create a new worktree for each branch. This way, he can switch between projects in the same repo without disrupting any of the other open contexts he has. He has written more about this setup here.
font name?