Introduction
Do you want to go from this

to this

with just one click? Well, stay on this blog and Iâll explain everything.
For a few weeks now, Iâve been delving into a new hobby, something that escapes my knowledge. And no, I donât mean learning to read. I mean CYBERSECURITY.
Thatâs right, the new obsession I have this month, and which I will soon put aside for something else while I save it in my Notion of pending tasks, is CYBERSECURITY. And well, the truth is that I have learned very little since I embark on several projects at the same time to sabotage myself. BUT ANYWAY, that is not the topic we are going to discuss today.
To no oneâs surprise, cybersecurity, pentesting, ethical hacking, etc., are much better handled when you deal with them from a Linux distro. It is a much more prepared environment for these things and there are hundreds and thousands of tools that need to run on a Unix. And well, we all know that Windows WSL is a HUGE *****
The fact is that, delving into this world, I met a content creator who disseminates about these topics. His name is S4vitar, and you may already know him because the guy does it very well and is everywhere. Anyway, I saw that he had, among many other courses, one to optimize your system, in this case Parrot OS, and leave it with a clean and fast interface to handle via console just as Linus Torvalds himself would want us to do.
The goal was that: to have a fast and useful system to handle in these environments. Then I did what I do best: PROCRASTINATE. Instead of taking and continuing with the rest of the courses and learning about the subject, I focused on a customization one, which in itself has nothing to do with cybersecurity, of course.
So, after watching it all and applying it to my virtual machine, I was wondering if I could automate all that customization in some way. I mean, the customization was incredible, very useful and quite pretty in my opinion, but it had taken me a lot of time. Also, I was using a virtual machine, what if I deleted my machine? Or if I created a new machine on another PC? Did I have to import the snapshot? Well, I came to the conclusion that it wasnât practical at all. I liked that customization too much to let it get lost in the void of my computer⊠I had to do something, I had to waste much more time than I had invested in customizing it.
My solution
And thatâs why, friends, and because maybe Iâm silly, Iâve programmed a script so that, by executing a single file, BOOM!, everything installs again.
But I wanted to do it right, from start to finish, because my grandfather always told me: âI was already married, with children and working at your ageâ the truth is that he started everything very young, but no no, what he really told me was: âIf you do something, do it rightâ THAT IS WHY I have tried to make all the code clear.
Well, itâs not that Iâve done hexagonal architecture, which is a bash script, but I wanted to separate it by functionalities, log all the steps it takes and, well, most importantly, keep it updated.
All the dependencies it downloads it does automatically in the latest version that exists, so this script serves you for whatever time you are watching the video. Also, since I am very much into discarding my virtual machines, I will always keep it updated in case something changes.
How does it work?
And well, you may wonder, how does the code work? Simple! We have a setup.sh file which is where all the magic happens. Here imports are made to the following installation and dependency configuration files. Meanwhile, the progress is recorded in a bar so that the user (that is, you) can see which step it is going through.
The content of these files is simple: in each one dependencies are installed and configured. The configurations I have in the other project folders that are not code, and everything necessary is copied so that the environment remains personalized.
And do you know what the best part is? That this script is compatible with any Linux distribution, be it Ubuntu, Debian, Fedora, etc. So no matter what system you use, you can enjoy this customization without problems.
How to install it on your Linux machine?
I remind you that this is an open source project that I have done, just like the code I made so that when making a github commit it improves using the free google LLM (gemini). I leave the post here!
Well, the first thing you must do is clone the repository where all the code is:
git clone https://github.com/edunavajas/linux-config-env
Once cloned, it is important that you give execution permissions to the setup.sh file:
chmod +x setup.sh
And finally, execute it as administrator:
sudo ./setup.sh
Next, you will see the progress bar and, halfway through the process, a rofi theme selector will appear. You select the one you want and press Alt + A to continue.
When the process finishes, you will see a screen like this where it warns you if you want to log out for the changes to be applied. You write a Y indicating yes and, when logging in again, very important to click on the little circle and choose BSPWM as the startup system. You put the password and voilĂ ! You already have your system customized and optimized for hacking.
What functionalities does this customized environment have?
As you can see it is not very complicated, but now goes the million dollar question, what is this for? what functionalities does it have? Well apart from such a notorious visual change, it has a lot of keyboard shortcuts that will help us with productivity, I leave here the cheat sheet that you can consult at any time:
Customize to your liking
And well, I have to tell you that these are customizations that are to my liking. Here everyone can clone the GitHub repository and change the keyboard shortcuts as they want.
You have many modifiable shortcuts in the sxhkdrc file. All the Polybar configuration in its folders, the custom commands in the .zshrc file, and you can even change the URL of the wallpaper image that you have in the install_wallpaper.sh file.
I recommend that you customize it your way, since this is done once and serves you forever. And as I always tell you, it is an open source project, just like the one I made so that when committing to GitHub an LLM improves the commit text to speed up your work. I leave the video here and I recommend, just like in this project, that if you have any suggestion for change, you do it through a Pull Request.
Why should you use this environment?
You may be wondering, why bother installing all this? Well, let me tell you that working in an optimized environment not only improves your productivity, but also makes the experience much more pleasant. When you have everything configured to your liking and within reach of a few keyboard shortcuts, you can concentrate on what really matters: learning and practicing cybersecurity.
In addition, by automating the entire process, you ensure that if for any reason you need to reinstall or change machines, you can have your environment ready in a matter of minutes. You will no longer have to waste time configuring everything again.
Additional resources
-
Blog with shortcuts and configurations: In case you donât want to always scroll to find the shortcuts I have put them here too
-
GitHub Repository: Here you have the repository where all the code and instructions are:
I hope you appreciate the work a lot, since it has cost me more than I thought, and give love to the repo if you like this type of content.
I, with this, say goodbye. See you in the next blog! â€ïž



What do you think?
Leave your opinion, question or suggestion. Comments are synced with GitHub Discussions .