@dhruvkb

Uses

I don't really know who would take any interest in what tools I use, but here they are. I'll try to keep this list updated as my workflow changes.

Do not consider my usage of any of these things as a recommendation. Your circumstances, budget and needs will likely be different and these may not be the best options for you. Also, none of the links here are affiliate links.

Furniture

For my desk and chair, I had a combined budget of 2k USD.

  • Desk: I went with the IKEA Idåsen sit/stand desk because it was easily available in Dubai, had an excellent 10 year warranty and fit neatly under my budget. I use Linak controller to move the desk using Raycast scripts.

  • Chair: After a lot of deliberation, I chose the remastered Herman Miller Aeron chair because it had glorious reviews as one of the finest ergonomic chairs. If I do over, I'd probably go with the Herman Miller Embody chair.

  • Organisation: For organising my workspace, I set up an IKEA Skådis pegboard and accessories on the edge of the desk itself. I also added an IKEA Idåsen drawer unit to go under the desk.

  • Lighting: I have an IKEA Tertial lamp mounted to an edge of the desk. It makes for excellent focused lighting when it's dark, and I can rotate it backwards to use as soft wall lighting when needed.

I'll share a picture once my desk's cleaned up. Don't hold your breath though, it could take quite a while to make the desk look good.

Hardware

  • Computer:

    • For my primary computer, I use an Apple MacBook Pro 16", M2 Pro from 2023. It's a powerhouse when I need power and also has great battery life when I don't.
    • I've previously driven a ThinkPad X220 with some upgraded parts, like an after-market SSD. It works great and I still go back to it when I need a Linux machine.
  • Mouse: I use a Logitech MX Master 3 as my mouse. It's got a lot of buttons, all of them customisable, which I've set up to do appropriate things in different applications. It's also fairly ergonomic so it's great for prolonged use.

  • Keyboard: As I was just getting into the world of mechanical keyboards, I got myself a Keychron K2 v2 with Brown switches. It's been great but now the keycaps are wearing out and the battery doesn't last very long so I'm on the lookout for a replacement.

  • Webcam: I use my Apple iPhone 13 Pro as my webcam using the Continuity Camera feature. With that I can record great video, that any regular webcam cannot match.

  • Audio: I use Apple AirPods Pro 2 as my primary mic and headphones. They're great for calls, have good features like spatial audio with head-tracking, and can actively cancel noise or become transparent.

Software

While I would love to only use free/libre, free/gratis and open-source software exclusively, it's not practical and I have to use some proprietary software to get work done.

  • Operating system: On my MacBook, I don't really have a choice but to use macOS. I'm usually always on the latest available version. On my ThinkPad, I use Fedora, also usually the latest version.

  • Package manager: I use Homebrew to manage my installed software, including GUI applications using Casks. It makes it easy to install all the software I need setting up a fresh machine and also keep them updated.

  • Terminal app: I use Ghostty as my main terminal. After using iTerm2 for the longest time, I wanted to use a terminal that had better performance, support for Kitty graphics and a text-based config. Ghostty narrowly beat out WezTerm.

  • IDE/Editor:

    • I now use VS Code because JetBrains IDEs were being buggy, moving slowly and lagging in features. I also feel better about using an open-source editor.
    • In the terminal, I use Helix as my $EDITOR. It feels like the spiritual successor to vim but with a few key better design choices.
  • Font:

    • I use GitHub Monaspace as my main programming font. In most places, I have set up a fallback to Symbols Nerd Font for extra icon goodness.
    • I have previously used Nerd Font's patched version of JetBrains Mono. It's also a great font family, but I felt like it had become unmaintained and was slowly going stale.
  • Browser:

    • I currently use Arc as my main browser. The concepts of spaces, profiles and ephemeral tabs it introduced were a paradigm shift for me and now these features have become integral to my workflow.
    • I am simultaneously using Orion, albeit in an experimental capacity. Orion can become my main browser if it gets more stable and polished by the time the folks at The Browser Company kill Arc.
  • Launcher: I use Raycast to launch apps, control my desk, manage window placements and more. I have not purchased a subscription, mainly because I don't use any of their new AI features.

  • Music: I am a captive of the Apple ecosystem so I use Apple Music for my music. Subscribing to the service prevents having to manually organise my music collection, which used to take up huge amounts of my time before.

  • Note-taking: Obsidian

  • API client: Bruno

  • Container system: OrbStack

  • Theme: I am a huge sucker for consistency so I use Catppuccin everywhere as it has ports for every piece of software, including Ghostty, VS Code and Obsidian. You might have noticed that this site is also using the Catppuccin theme.

As you can probably expect, my dotfiles are open-source. You can use them directly, or as a jumping-off point to craft your own. I also have a post on how I set up a new computer by using these dotfiles.

Services

  • Code hosting: I use GitHub to host my code. While I would prefer to use a free software alternative, GitHub has a stronger network and the unlimited features in the free personal tier are too good to pass up.

  • Domain: I had purchased this domain from Google Domains. When they decided to close down and sell everything to Squarespace, I migrated the domain over to Porkbun and have not looked back. This page might convince you to do the same.

  • Hosting:

Python development

  • Tool manager: I use uv to manage the Python tools I have installed, which ironically includes other Python package managers and the Linak controller, which I use to control my sit/stand desk.

  • Package manager: Many of my Python projects use PDM as the package manager, largely because the best option, uv wasn't production ready. PDM is also awesome and doesn't offer much to complain about.

JavaScript development

  • Node manager: I use nvm to manage my Node.js versions. There were other options too, but I specifically chose nvm because of familiarity and my aversion to changing what just works well.

  • Package manager: I use pnpm as my package manager for JavaScript projects. I tried pnpm once and was immediately blown away by its speed. I have not used npm since and even convinced a few people to switch to pnpm.

Thanks for visiting!
Built with Récivi