Tools I use
Here I will provide a brief overview of what I use on a near-daily basis. With a little background reasoning as to how I ended up where I am.
Software
Operating System: NixOS
My history with Linux involved Ubuntu on a netbook around 2007/8 for a couple years. Then after a long hiatus, I had Linux Mint installed for a couple months at the start of 2020. Followed shortly by Arch Linux for the next couple of years—where I learnt most of what I know about the operating system.
Then with the headache of maintaining two separate devices, keeping the applications and configurations up-to-date. I went from one baptism of fire to the next—NixOS. For me, I don't think there will be anything that will replace this distribution for a long time. The philosophy of how to manage systems with reproducible and declarative builds is unmatched.
You can view my dotfiles repository if you would like to check them out and find inspiration.
Text Editor: Helix
I will start by saying this is probably going to change at any point.
When I started to learn programming on Arch, I thought it would also be a great time to learn vim and it's bindings. After a year, I switched to neovim, around the launch of v0.5.0. This was probably the best experience I've had inside of an editor.
I started to lose the faith, however, mostly due to the time I adopted neovim. There were a lot of great new features, and developers in the community were creating some very useful plugins. But it felt like there were a lot breaking changes to neovim's APIs and plugins, that made it seem like every day I had to go to github to see what needed to be changed in my configs.
My eyes wondered over to the over side. Shortly after starting to use NixOS, I found myself installing emacs, and for the next 4 months I was practically running my entire life through it, giving it the best try I could.
In the end, the single-threaded GUI existance was too much for me to handle. Too many times I would have to wait for my emails or RSS feeds to download in the background whilst doing work. So, I decided to look for something familiar but with no configuration overhead to get required features. That's why I'm currently using helix, and will be until neovim and it's better modal system eventually wins me back.
Also, plugins are really fun and the missing support in helix pains me. I've now convinced myself that I'm going to start using neovim soon.