Whyyy

tl;dr: because it’s fun to me

(this is more of a blog post about how these dotfiles came to be, there is no actual configuration happening here)

Why Linux?

I’ve always loved customizing the software I use. This dates back to a very young age. If I got a new video game console, first thing I’d do is head to the settings and check what options there are. The games would come an hour or so later. When I was around 12 years old or something, this culminated in me jailbreaking my iPod touch and installing custom ROMs on various Android phones. So in that light, it’s not very surprising that I got into Linux. I should also mention that I already got hooked on using LaTeX early on in high school, so in that way I was already prepared for all the text and keyboard based workflows that were yet to come onto my computers.

I was interested in Linux around as a kid too, but the first time I actually started actively using it was in my last year of school, in 2018/19. I went to a school where we did a bunch of programming, and in one of my classes we actually had a project where we were supposed to write a Linux kernel module (none of us even got it to compile, but that’s beside the point). The teacher recommended we install Linux in a virtual machine, but I figured this was as good a time as any to actually try it as my daily driver. So I installed Linux Mint as a dual boot alongside Windows.

It was surprisingly smooth sailing! Sure, I experienced some issues. I remember running into some partition trouble, and my sound didn’t work for a while because somehow I thought it was a good idea to move my home directory to a NTFS partition. But those were not really problems, because I had fun learning about things and fixing the issues. I also learned about open source software and copyleft (one of my favorite words), which I also very much stand behind. But if I’m honest about my motivations, my main one is always the fun of configuring and using a system where I can everything be as I want it to be. Higher ideological reasons were secondary.

Vim is Love, Vim is Life

Soon afterwards, I discovered vim. I’m not really sure how that happened anymore, but I surely remember excitedly watching all the thoughtbot vim conference talks. This different way of moving around and changing things really tickled something in my brain. I switched to it while working on a (for my standards) pretty big coding project for school, so I got a lot of practise and got used to it rather quickly. And soon afterwards I discovered tiling window managers, so I became an i3 user.

I’m not sure I’m actually any more productive with either of those. I mean nowadays I am because I’m not used to the alternative anymore, but an experienced programmer using Visual Studio on Windows or something is almost certainly more productive than me. But the way you work in vim and in tiling window managers is just… I don’t know, fun! And this is as good a reason as any for me. My brain really hates me if I have to do things I don’t like or don’t enjoy, so just having a workflow that’s more stimulating to me already makes me feel much better.

Minimalism Is Actually Not My Thing

At least in my YouTube feed, minimalist setups and suckless tools were really hyped around that time. It took me a bit to discover that this is actually not that important to me. I got myself a convertible laptop, mostly because it’s really handy if you have weekly problem sheets to do for university during lockdown. Tiling window managers are actually not that bad for such a device: When using a device through a touchscreen, you probably do want all your applications to automatically take as much screen space as possible. But my workflow was very keyboard oriented, so I couldn’t do very much from touchscreen alone. After browsing around a bit, I stole some setups where I could use touch gestures and a little popup menu to actually start programs and move around workspaces using only a touchscreen.

But while trying to refine this setup, I stumbled across the glorious dotfiles for the awesome window manager. Out of curiosity, I installed them, and to my absolute surprise they just worked!1 The only real improvement to my i3 config was in appearance, but by the elaborate sidebar widget setup, I knew that I could modify this to meet all my touchscreen goals in a way nicer way. Certainly, this is not a minimal setup anymore, with all the GUI going on. But as long as the amount of installed things I don’t need is not obscenely big, I actually prefer a featureful setup over a minimal one.

The Path to the Dark Side

This touchscreen setup ended up not actually happening. I was too busy thinking about my next fixation: Emacs. Of course I had heard of it before, it’s pretty hard not to with all the memery/bashing coming from vim users. But this introduction video to org mode just moved in and lived in my head rent free. At the time I was in need of a good todo-list workflow, and the way that org mode does it all in plain text is just so incredibly neat. Again, I don’t think this actually made me more productive in the way that you’d think at first. But it combined getting more organized with my passion for weird linux-y systems, so I did actually use it for a while.

Org was definitely my gateway drug into Emacs. Of course I always used evil mode. No way I was gonna do text editing without my beloved vim features. And through that I learned all the complaints about Emacs from the vim community were actually not that accurate. It doesn’t make sense to compare them, one is a wild way to edit plain text files, while the other one is a crazy self-documenting and self-modifying software ecosystem that just happens to also modify plain text. I stopped taking a side in the Vim vs. Emacs debate and rather started to appreciate their synergy. But more on all that in the preface of my Emacs config.

New Endeavours: A New Distro

I was really satisfied with Linux Mint for a long time. But with all the bits and pieces I stole from bleeding-edge dotfiles online, there were a lot of programs where I needed newer versions than were available in the repositories of a stable-release distribution like Mint. Ok, no problem, I learned how to build stuff from source and install the things I needed manually. But then in my semester break of 2024, I found some time to improve a lot of my configs, and I wanted to start that off by upgrading to the newest version of Mint. To my surprise, it wouldn’t let me do that with programs whose versions were “too new”. So I had two options:

  • Uninstall all those things, upgrade Mint, hope that it would work with no further problems, and rebuilt and reinstall all that software I just uninstalled.
  • Reinstall my OS and start from scratch.

I chose the latter option, partially because I surely had installed a lot of shit that I didn’t actually want or configured things in a way that made my system actually less performant. And what better time is there to switch to a new distro? I quickly decided to go for a distro with rolling release repositories this time around, so I wouldn’t run into similar problems again. I really toyed with the idea of switching to NixOS, the idea of declarative software installation with full reproducibility is really attractive to me. But with such a non-standard distro, I would miss out on a lot of online help in the form of stack exchange questions and blog posts, so I decided it was not worth it. So the alternative was to go and use Arch, btw.

There’s this website that really helped me with my choice… Yes I know this is a joke website. But it actually helped me because it made me aware of EndeavourOS’ existence, whereas the other distrochooser didn’t include it. EndeavourOS is basically Arch + nicer installation. I like that with Arch, I’m only gonna install things I actually use. But the things that EndeavourOS adds are all things that I would’ve wanted anyways, so why not make my life easier? Also their whole branding just looks really cool lol. So I installed it, and I’ve said this already about something else here, but I was again surprised when everything just worked! I really expected some issues or some more work, it was almost boring. ^^ And even getting used to pacman after using apt for years was actually surprisingly easy. It helps that pacman is so much faster than apt, it’s really impressive. But ye, I had successfully distro hopped!

The Configuring Never Stops

There’s always more details to improve and new wonky but incredibly cool systems to discover. My newest obsession is my Elora, a split keyboard with customizable firmware. I just use to Vial GUI to configure it for now, so you won’t see much about it in my dotfiles. And hell, I have switched my window manager again and still haven’t set it up to make it usable with touch only! Excuse the cliché, but I guess it really do be more about the journey than the destination. As long as I’m having fun doing it, my config doesn’t need to be finished.


  1. This would not actually be the case anymore nowadays. The glorious dotfiles are deprecated, and a syntax change in a new version of Lua broke them, see here. I fixed these issues in my config. I fixed these issues in my config. ↩︎