Uses
I often get asked about what software or hardware I use, so this page will serve as a living document and a place to point curious readers to when I get asked.
Hardware
Keyboard
Workstation - DIY PC with nVidia RTX 4090
Laptop 1 - MacBookPro 15-inch 2019 Intel Core i9
Laptop 2 - MacBookPro 16-inch 2019 Intel Core i7
Laptop 3 - Legend Legion Y9000
HP Micro-server Gen8
Software
I prefer open-source software for my day-to-day use.
Terminal
- Ghostty is my terminal
- tmux is my terminal multiplexer
- oh-my-zsh and powerlevel10k
- dotfiles
- stow
I manage the software using the dotfiles scheme. In particular, installation
and configuration procedures have been automated by the setup.sh
script in
this repo. This allows me setup consistent tooling quickly across OSes and
physical machines.
Editor
My primary editor is neovim, though occasionally I also tinker with the good-old vim. My neovim configuration approach follows dotvim scheme. Additionally, the configurations are integrated with the aforementioned dotfiles. Specifically, the dotneovim repository is a submodule of dotfiles. This means I can replicate my neovim editing experience on a new computer swiftly by simply executing:
cd $HOME
git clone https://github.com/schnell18/dotfiles
cd ~/dotfiles
./setup.sh nvim
I’ve tried diverse neovim themes and settled on nvchad. My favorite plugins include:
- stevearc/conform.nvim
- mfussenegger/nvim-lint
- neovim/nvim-lspconfig
- williamboman/mason-lspconfig.nvim
- schnell18/mason-nvim-lint
- williamboman/mason.nvim
- nvim-treesitter/nvim-treesitter
- lervag/vimtex
- let-def/texpresso.vim
- mfussenegger/nvim-dap
- leoluz/nvim-dap-go
- nvim-neotest/neotest
- CopilotC-Nvim/CopilotChat.nvim
These plugins offer terrific syntax highting, linting, code completion etc across the major languages such as Python, Lua, Golang, bash and LaTeX.
Desktop Apps
- Chromium is my main browser
- RStudio
- IntelliJ Idea Community
General Dev Tools
Neovim, coupled with tmux, is my primary tool for virtually all tasks such as development, presentation, and documentation.
- neovim is my main tool for programming, writing
- IDEs: IntelliJ Idea Community (Java), RStudio (R), JupyterLab
- podman, localenv for containerized applications
- Terraform, Ansible, AWS CLI
- Virtual Machine: lima, libvirt, packer
Python Dev Tools
- neovim + pylsp
- JupyterLab
- pandas + matplotlib
- uv
- pdb
Java Dev Tools
- IntelliJ Idea Community
- sdkman
- maven
- localenv
Golang Dev Tools
- neovim + gopls + dlv
- gvm
- localenv
- podman
- lima