🍂 Aki

Search

Search IconIcon to open search

🎉 Finally, aurutilsinstaller got an update!

Last updated Sep 6, 2023 Edit Source

# “Final”

This is the milestone of this small project, what’s left is to finish the scripts, and then I can finally focus on my other projects. You can see the new update live at the final branch, but the branch will be eventually merged to main.

This change removes the original monolithic single script altogether, and starts by reading every .sh file inside the scripts folder. Previously, the script was more a side project than anything - the most time I spent on was the README itself (and at the time, I believed I had better things to do besides learning bash scripting). But there was a real need to separate all the scripts into their own files.

I was only active recently in Arch Linux (school being the primary thing that took most of my time) to make the needed changes. Now that the project itself is modular, it will be much easier to make changes and add new scripts and their interface for different purposes.

# Originally a script for beginners

I never really thought of using a TUI until now, and so I used one specifically made for shell scripts. There are a lot to choose from, one example is gum and another is FTXUI. There are some thoughts to use C++ and CMake/Conan going forward, the only problem is that I don’t have the . I used dialog because it is in the core repository.

We already had a form of TUI with select, but it’s a nightmare to navigate, and even more of a nightmare to code. It would simply be an overhead.

During the development of the script last year, since the change of intentions to make this more friendly towards intermediate users, I wanted to add arg parsing to simplify the installation process with a command that can be saved and copy-pasted. Now that the project is modular, I could even add Zenity on top of the already-existing TUI, without having to change the main script.

Another thing I’ve learned of is the existence of git submodules, which will actually give another option for those that want to compile all the dependencies on their own in an environment where internet connection is a problem. I believe it is safe unless it is used in an outdated system, or the local copy of the submodules is old.

# Not just a small project

This is more than a small project to me. It is my progress as a programmer. It’s not the size of the project that mattered, it’s small things that make up the whole discipline for me. Adopting the best practices, finding ways to improve my workflow, looking for alternatives that simplifies the entire process.

There’s so much for all of us to learn, there’s no end goal but learning new things, adapting to them, and immortalizing them…I think this is my own means to live.