bakkeby / dwm-flexipatch

A dwm build with preprocessor directives to decide which patches to include during build time
MIT License
1.18k stars 238 forks source link

Move config.h, patch.h and config.mk #71

Closed kkharji closed 3 years ago

kkharji commented 3 years ago

Hey @bakkeby, it would be great if config.h, patch.h and config.mk can be located under ~/.config/dwm-flexipatch. This way users can long term use dwm-flexipatch.

Thanks

bakkeby commented 3 years ago

Assuming this would even be technically possible, how would you envision this working in practice?

kkharji commented 3 years ago

Well, given that I'm currently trying to automate the setup of my env, it would be nice to clone dwm-flexipatch to a path and have my configuration under .config.

Perhaps make file can look for config.h, config.mk and patches.h in config/dwm-flexipatch?

bakkeby commented 3 years ago

So to change a keybinding one would have to first navigate to ~/.config/dwm-flexipatch/ to edit config.h, then navigate to another directory to compile it.

I have a hard time seeing how this would benefit others.

It would make more sense to just have the whole build in that directory. It would also be trivial to add one more step in the automation code and just copy ~/.config/dwm-flexipatch/* into the build directory before compiling.

kkharji commented 3 years ago

A simple alias would work:

alias compiledf="cd /path/to/source; sudo make ....; cd -"

Well if this is seem to hard to do, hacky symbolic links for config.h, patch.h and config.mk is even harder to maintain.

This is wasn't a problem with my dwm build because all my build is version controlled by me. Now I have the build controlled by dwm-flexipatch and the config by me.

It would be much easier to have a consistent experience configuring the build through XDG_CONFIG_HOME/program as with all other linux programs.

Either ways I'm happy to fork or go back to my old build and have less overhead creating and maintaining symbolic links unless there is a better way you may suggest ...

bakkeby commented 3 years ago

It would be much easier to have a consistent experience configuring the build through XDG_CONFIG_HOME/program as with all other linux programs.

dwm and other suckless utilities don't actually have a configuration file as such, it is all part of the source code.

Due to the way dwm.c sources config.h I think at best it might be possible to make the Makefile copy config.h, patches.h and config.mk from your ~/.config/ directory into the build directory (rather than copying from config.def.h, etc.).

This you could easily achieve with your simple alias (or a separate bash script) as well:

alias compiledf="cd /path/to/source; cp ${XDG_CONFIG_HOME}dwm-flexipatch/* .; sudo make ....; cd -"
kkharji commented 3 years ago

hmmm seems worst then setting up symbolic links. As much as I want to use dwm-flexpatch, having my own build is much easier to maintain :( Either way thanks for giving it some thoughts.

BTW: suckless utilities doesn't come with cool patches like here.