Home

My Personal and Development Configuration

In this post, I would like to explain about tools I use for my development in my personal system. The detailed step of personal laptop configuration is found in the post - My Personal Laptop Setup.

I use Ubuntu Operating System at home.

Here are the tools I use in personal system (as of now).

  • Obsidian: This is my note taking as well as journaling app. It is high customisation abilities and all the data is under my control (I store it in my private Github repo).
  • Ghostty - This is a terminal emulator. The reason I chose this because it is cross platform. I can use same terminal in Mac OS (at work) and in Linux (at home). It needs no configuration as it comes with loaded features. I have a config for style purpose like font and theme. Earlier, I used to use Alacritty. My ghostty config can be found in my dotfile repo.
  • OhMyZsh: My default shell is zsh. On top of that, I use OhMyZsh. OhMyZsh provides a set of functions and plugins for the terminal which makes it easy to work with your shell. OhMyZsh has a great set of plug-ins. My dotfile for zsh can be found here. Among the ohmyzsh plugins, I particularly use following -
    • zsh-syntax-highlighting: This helps in highlighting the syntax of the commands in zsh. Pretty useful in catching some small errors. It also makes your shell pleasing.
    • zsh-autosuggesions: This suggests the commands as you type in based on the history. Quite useful when you are using repeated commands.
  • Zellij: This is a terminal multiplexer. In a single window of terminals, we can work on multiple things by dividing the window or adding more terminal tabs. We can even configure this. It does not need any extra configurations as it comes with tone of features. But, I have a small config change to serialize the sessions. The config can be found in the dotfile repo. Before I started using zellij, I used to use TMUX.
  • Helix: This is my default terminal editor. It also comes with tones of features packed and does not need any extra configuration to start working with. If it is single file changes or few file changes then I use this editor instead of going for a GUI editor.
    • I still keep NeoVim with following config here just as a back-up. Some of the plug-ins I use in neovim are -
      • vim-plug: Vim Plug is my plugin manager for neovim. I have not used other plugin managers and this has not caused any issues so all good.
      • NERDTree: This provides the file system explorer within Vim editor. This is useful when you are working on a package and you need to edit multiple files.
      • vim-airline: This provides an intitutive status bar to VIM windows.
      • vim-gitgutter: When a file is getting edited, this will track the git changes and mark them for easy identification.
      • vim-sensible: These helps to set some of the common configurations in the vim.
  • Claude Code: This is my LLM assistant.
  • Zed: This is my go to editor for all the small programming projects.
  • IntelliJ Idea Community Edition: This is my go to IDE for Java related projects.
  • IntelliJ Pycharm: This is my go to IDE for python related projects.
  • Vivaldi: This is my default browser.
  • Zoho Notebook: This is my mobile note taking app.
  • Instapaper: I use this for mobile reading of bookmarked articles. This helps with offline reading.
  • Arattai: I prefer this chatting app but most of my network is still in whatsapp
  • KeyPass: This is my password storage tool. I use this version KeePassXC
  • Spotify: This is my music playlist app.
  • Fusion RSS Reader: To collect all the feeds for blogs I follow.
  • StayFree: To understand my digital usage of apps, website across mobile, desktop and web browser.

The dot file configurations are not my own creation, rather I have taken from multiple places and tried to fit into something what works for me. If you use any good tools or configurations do let me know, so that I can try it.