Hi, I’m Arnav Vijaywargiya(binarydigitz01). Welcome to my Blog! This site hosts my blogs about emacs and nixos.

How Emacs taught me programming

I’ve been using emacs for around 4 years now, and as I’m entering the 2nd year of my college, I can feel I’ve grown significanly along with my text editor. Emacs (and Linux) has taught me a lot about Software Engineering. Reading other people’s configuration files, writing my own unique snippets, and playing with packages has really helped me learn programming. Many programmers advice to make a “project” to really get a grasp of programming and get experience, for me a large part of that was emacs.
Read more →

Using meow.el for modal editing

I have been using meow.el instead of evil for my modal editing since the past 4 months, and have mixed reviews about it. Read on if you would like to decide to try meow for yourself. Introduction Meow mode takes insipiration from kakoune style keybindings. In vim’s modal bindings, you have to type the verb first (deletion, pasting, etc.) then select the portion on which to act (word, paragraph, etc.). This method is error prone, not only for beginners but for experienced users as well.
Read more →

Ricing Org Mode

A majority of emacs users are absolute die-hard fans of org mode, and wouldn’t be able to live without it. And it makes sense too, it’s a tool that you can use in whatever workflow you prefer, which is really powerful. However as a relatively new emacs users (only 2 years!), I couldn’t really get org mode. I never felt satisfied when using it, as for me it seemed like an old technology, especially for a person who’s used to the web apps, which have a totally different UI .
Read more →

Quickly toggle Eshell in emacs

One of my Emacs’ favourite features is Eshell. However recently I wanted to create a function, that automatically toggles eshell, like vscode, and gives priority to the project root (if in project). This little code snippet does exactly that: (defun binary-eshell/toggle-eshell () (interactive) (let ((eshell-buffer-name (binary-eshell/eshell-buffer-name))) (if (binary-eshell/eshell-toggled-p) (delete-windows-on eshell-buffer-name) (progn (split-window-below) (if (project-current) (let ((default-directory (project-root (project-current)))) (eshell))) (eshell))))) (defun binary-eshell/eshell-toggled-p () "Checks if eshell is toggled." (let ((eshell-buffer-name (binary-eshell/eshell-buffer-name)) (result)) (dolist (element (window-list) result) (if (string= eshell-buffer-name (buffer-name (window-buffer element))) (setq result t))) result)) (defun binary-eshell/eshell-buffer-name () "Returns the name of the eshell buffer.
Read more →

My Workflow

I use Emacs as my main text editor of choice, mainly because I’m trying to incorporate org mode into my workflow.I use the Doom Emacs Configuration, as it is basically what I want, with a very speedy code base. My configuration is not a literate one unfortunately, but it is available at my dotfiles repo. The other major tool that i use is Nixos. It’s an operating system based on the functional package manager Nix, which is an absolute game changer in writing software.
Read more →