You are not logged in.
I’ve fully customized my dwm environment and created an auto-installation script (install.sh) that sets up the entire system with just three commands. I'd like to share it here for suggestions and improvements.
Offline
Hi and welcome to the forums!
This is probably better suited in Programming and Scripting.
In that context, the one thing I would recommend first and foremost is reviewing your xinitrc. See https://wiki.archlinux.org/title/Xinit#xinitrc (especially the second note box there)—in particular, verify that you're properly sourcing the snippets in /etc/X11/xinit/xinitrc.d to ensure your desktop session is correctly set up.
Also xprofile doesn't need to be executable (unless you plan to otherwise invoke it).
I also noticed you manually install all the dependencies for dwm itself (e.g. libx11, which is already pulled in by other packages in there, e.g. xorg-server). To reduce cluttering manually installed packages, I would recommend packaging your setup, so that the dwm dependencies are properly tracked in pacman (and also the files installed by dwm itself).
More generally on the scripting end, I would recommend splitting out some of the parts into functions. If you're unfamiliar with functions in Bash, see tldp, but also (for further reading) Wooledge. For instance your message calls with echo could be split out into:
message() {
echo -e "${GREEN}==> $*${NC}"
}
# and then in the code, just call
message 'Installing packages...'Offline
I’ve fully customized my dwm environment and created an auto-installation script (install.sh) that sets up the entire system with just three commands. I'd like to share it here for suggestions and improvements.
Might you be welcoming questions too? Like what is dwm?
Offline
dynamic window manager, it was made for xorg and created by suckless
Offline
check point 4.2 on this link: https://wiki.archlinux.org/title/Dwm#Restart_dwm
also, you can compile dmenu instead of just downloading from the arch repo. You can tweak it to look like this if you want [which I like it more than default presentation]:

But I guess is just a matter of tastes also.
Also another good idea is to have in your repo the list of patches that you are having on it. I usually also put a patch folder inside my project, with the patches that were working on the version of dwm that I'm using it, since dwm new releases sometimes needs new patches versions.
Also I notice your multi objective optimization inclinations with the NSGA-II Nice ^^. Are you into optimization ? I was thinking in creating an Arch wiki about that, since it currently lacks a general view of programs for doing that kind of stuff.
Last edited by Succulent of your garden (2025-12-19 15:00:31)
str( @soyg ) == str( @potplant ) btw!
Offline
My question wasn't really addressed to any of you... so
Give me a break :-)
Offline
My question wasn't really addressed to any of you... so
Give me a break :-)
well if you want to be like that ![]()
Offline
Shouldn't I be bearing your weight instead :-)
Both of you plus the non-existent wonnabe
Last edited by ReDress (2025-12-19 15:36:23)
Offline