Introduction
I know that I haven’t been the most on-top of my channel and that I say something like this once every couple of months. If I am being completely honest and transparent, my health stuff still isn’t super good and comfortable to deal with. Maybe one day I will make a video or a blog post talking about what I’ve been going through, and show how I came out of it better than before, but in order to reach that I have to actually improve and get better. This blog post is more meant to get me back into the rhythm of writing posts for both my thoughts and things I don’t really want to make videos about. But that aside, let me talk about why I backtracked on a lot of what I said in my most recent video regarding DWM. I also moved off of Alacritty and fully swapped over to a full Lua configuration setup.
I don’t think suckless is for me…
Although I really appreciate the suckless team for what they’ve done, and I think their software projects are amazing with the constraints they put on themselves, at the end of the day I just don’t think it was for me. I was fun diving into C, customizing header files, making things work, navigating through patches, so on and so fourth. I was getting annoying patching ST and DWM to get things that I thought were basic, but I am not used to patching. That’s my fault. I am just not very good at patching, and navigating through ways to roll back, and didn’t really use version control to make sure that I could roll back. This means that if I half-baked a solution and it didn’t work, I would sometimes just reinstall DWM out of frustration (even if it wasn’t necessary; all of this could have also been remedied with an undo tree but I digress). But I also think that this caused even more friction between me and my developer environment. At the end of the day, I just want a setup that works and I didn’t want to go back to i3. But I used awesome for a white before that and had a pretty good time using it.
Awesome is awesome
Awesomewm for those unaware, is a DWM fork with customization built around Lua. It also has a lot of nice quality-of-life features built into it, and is very nice to use. I realized after using DWM that a lot of what I used it for already exists in awesome but it’s better and I don’t have to recompile and restart my xsession every single time. It’s just a pain. Sometimes I just want to try out a new binding or create a new hotkey to launch a program/script. That should result in me having to break my whole workflow just to try out. Patches also became a pain, but I still think it’s both a skill issue and patches genuinely being a pain in the ass sometimes.
I think I really like challenging myself by using tools that I am unfamiliar with and trying to get them to work for me. It doesn’t always work, and that’s fine. It scratches the curiosity itch from my brain and then it’s gone. I no longer have to think about it again. This was me trying out suckless shit and it just didn’t work out for me.
The Lua Setup (tm)
So I’ve gone full Lua mode now. I really like patterns and rules and order, and having one configuration language across the 3 main tools that I use has been a very nice experience for me. The current setup I have goes as follows:
- Awesomewm
- WezTerm
- Neovim
This setup both helps me become more familiar with Lua, and allows me to be more comfortable with having to change things in my configuration. It also means that I don’t have to rely on proprietary K,V configuration languages for specific software. If I want to add something, I can just look at examples online and figure out how to do it myself. I haven’t been super on top of programming recently, and to be honest I’ve been kind of depressed while programming. It’s something I might write about, but I journalled about it a couple of days ago and most sorted it out. But either way, getting myself more into the programming mojo has been the goal for the past couple of weeks, and at this point my configuration setup is kind of like a lua playground. I can hot-reload anything and see how I messed up, what I did wrong, what I did right, read through APIs and examples to understand what I’m using and how to make it work, etc…
This is actually the most amount of time (aside from going to Ruby) that I’ve spent reading API documentation and actually understanding what I’ve been reading. It feels really good. I am a strong believer in “pick the language for the job; don’t pick a language and then go from there” because I find that people become way too language-reliant. They only love X and Y language and can’t imagine programming in anything else. The language you use depends on the job at hand. If you’re a programmer, you choose the right tool for the job, no matter your biases, and then solve the problem at hand. That’s what we’re meant to do. I really do like programming, but I think that configuring your programming tools with real programming languages provides a level of comfort and security in the tools that you’re using. It also helps when everything uses the same languages so you don’t have to adapt to another syntax for another configuration file, ultimately being limited by that language.
Conclusion
At the end of the day, I’m just a guy with my own opinions on the software that I use and how I want it to work. It isn’t the be-all end-all advice, and shouldn’t even be taken as advice. I don’t even really like ricing; I find my setup to be very ugly LMAO. I just like being opinionated. That’s it. That’s the post. Thanks for reading. More posts to come :3
>> Home