33 - Ammar Alakkad
Ammar is a seasoned Frontend Engineer at GitLab with over 10 years of experience in various tech stacks. He made the transition from full-stack to front-end back in 2019. He holds a B.Sc. in computing from the University of Greenwich and worked in web development since 2009.
He enjoys making and perfecting his coffee, mastering sourdough baking, and participating in ongoing personal development activities.
Neovim and Terminal
“I’ve seen quite a few changes in my editor configuration over time. I had a liking for Vim from way back, probably because the idea of hacking was cool to me as a kid. I always imagined it being done on a black screen. Seeing people use Vim for coding intrigued me, and that led me to give it a try. At first, I used it for basic tasks like editing a config file on Linux. Over time though, I started to like it more, especially when plugin managers came into play. Being someone who likes living on the edge, I jumped right into Neovim when it came out.
I was a big fan of VimPlug and the appearance of CoC impressed me. It transformed my basic editor into something more resembling an IDE.
I took the time to move my Vimrc config to init.lua bit by bit. In tandem, I also made the switch from VimPlug to Packer. Although the migration process was pretty draining, I figured it would be more efficient to find a basic file that could speed things up instead of spending a significant amount of time on customization and migration. That’s when I stumbled upon LunarVim and NvChad. NvChad’s look particularly caught my eye. I experimented with it, but it did not resonate with me for long. Maybe it was too opinionated? I can't recall now.
For a while, I stuck with my custom init.lua. However, when lazy.nvim arrived on the scene, I instantly fell in love with it. My Neovim startup time was reduced by a whopping 80%! Then the package manager’s author came up with a new setup/distro called LazyVim. I tested it out and it just made sense. I've stuck with it since then, adding my customizations on top of it (like opting for fzf-lua instead of Telescope).
Looking at the bigger picture, I appreciate that my config is relatively minimal with LazyVim. I’m not re-inventing the wheel, but rather building on an existing and maintained base.
One part of my current config I’m fond of is the ability to run code tests from within Neovim. The key binding for this functionality is <leader>tt (abbreviated from test nearest).
Talking about fonts, I'm currently using MonoLisa. I had always been interested in getting Operator Mono, but its price tag was a bit too steep for me. MonoLisa, on the other hand, proved to be a reasonably suitable alternative.” - Ammar
Favorite Tools
Obsidian - is a private and flexible writing app that adapts to the way you think.
Alfred - app launcher and custom workflows.
Bartender - control your menu bar items (on mac)
Xsnapper - screenshots app
Notion Calendar - calendar
Todoist - task management app
xbar - put anything in your mac menu bar
wezterm - terminal emulator
Neovim - the greatest editor in existence.
tmux - terminal multiplexer
lazygit - simple terminal UI for git commands
Dotfiles
You can find his dotfiles here: https://github.com/AmmarCodes/dotfiles
He uses https://github.com/anishathalye/dotbot to install and configure his tools.
Favorite Books
non-technical
Feeling Good: The New Mood Therapy - by David D. Burns
Technical
Getting things done - by David Allen