| ▲ | QuantumNomad_ 3 hours ago |
| > My recollection is that most CP/M programs were configured via patching. I honestly would have liked that better for a lot of programs than the dotfiles they litter all over my home directory. |
|
| ▲ | fredoralive 2 hours ago | parent | next [-] |
| Part of the philosophy of the slightly odd suckless people is their projects are mostly configured by changing the source code and recompiling. This is I suppose a similar approach in a modern open source vein. Although their general asceticism makes their projects a bit of an acquired taste I suspect. |
| |
| ▲ | analog_daddy 2 hours ago | parent [-] | | Ohh acquired taste it is.. I had two stints with suckless software. First, when i was in early twenties when I had a lot of time in the world, and thought the manliest way to talk to a machine is all through low level C code. Had a whole flow to patch it and heck the code is so well written and commented, i was able to understand it. Then, i guess life happened and i discovered more interesting stuff to spend time on. And now in my late twenties, suckless terminal is the only one that would work reliably on a shitty old enterprise linux system at work. Yeah, we got xterm and konsole (the older one). I am seeing them in a whole different light now. I did not read the source code now and it is effectively a foreign language to me, but just being able to have modern features in it without too many dependencies is a different level of bliss. This time, I am glad I have the flexi patch to the rescue since, i passed on suckless terminal as a real alternative since I don’t want to patch it manually or solve merge conflicts! Even though I don’t like the elitist attitude of the project, can’t deny they got a point. Why does a terminal emulator need to be so complicated! https://github.com/bakkeby/st-flexipatch | | |
| ▲ | archargelod 37 minutes ago | parent [-] | | > I don’t want to patch it manually or solve merge conflicts I wonder, is this really such a big problem? How often do people add patches or change their config? I've configured my st once and haven't touched that build for years. I use only few patches like scrollback, custom colortheme and a "plumb" for few scripts. I've also had an opportunity recently, to try a "modern" and trendy terminal and I can't see myself switching to something slower (in terms of lag) and using 10x more memory and cpu even when idle for literally zero gain. |
|
|
|
| ▲ | Hendrikto an hour ago | parent | prev | next [-] |
| If people just followed the XDG Base Directory Specification, config file littering would be a non-issue. More and more projects adopt it, even holdouts like Firefox. |
| |
| ▲ | ninkendo 33 minutes ago | parent | next [-] | | I wonder how many apps actually read the correct XDG environment variables and obey them, versus just hardcoding paths that match their machine’s config paths (typically ~/.config/*) I almost want to set up a VM that sets up XDG_CONFIG_HOME as ~/.foobar and see how many apps actually respect it, and how many still write to ~/.config. | | |
| ▲ | jdpage 11 minutes ago | parent [-] | | A few years ago I had a Windows box where I pointed XDG_CONFIG_HOME et al to the corresponding-ish Windows paths (AppData subdirectories, mostly) so that the many Linux-derived CLI programs I was using wouldn't clutter up my userdir, and it worked pretty well, though there were a few programs that didn't get the memo. Unfortunately I don't remember which ones they were. Most programs get it right, though! |
| |
| ▲ | skydhash 13 minutes ago | parent | prev | next [-] | | I don’t mind ~/.* for config, especially when the config is just one or two files. What I don’t like is programs like go and cargo treating my $HOME as a dumping ground for every file they want to download and/or cache. | |
| ▲ | user3939382 an hour ago | parent | prev [-] | | I contemplated for years and eventually saw someone implement a transparent kernel redirect for programs reaching for ~/.* |
|
|
| ▲ | PunchyHamster 2 hours ago | parent | prev | next [-] |
| Well, they are supposed to be all in .config, problem is many app developers think they are special little boys that deserve its own directory |
| |
| ▲ | delta_p_delta_x an hour ago | parent | next [-] | | %LOCALAPPDATA% on Windows. Or better still, use GetAppContainerFolderPath or SHGetKnownFolderPath with FOLDERID_LocalAppData. | | |
| ▲ | ziml77 43 minutes ago | parent [-] | | I don't know if anyone is actually using roaming profiles, but config should go into the %APPDATA% folder to support that. %LOCALAPPDATA% is for things that shouldn't be synced to different machines, such as caches. | | |
| ▲ | Uvix 20 minutes ago | parent [-] | | I know we used to use them in our corporate environment. Not sure if we still do, or if they gave up and called OneDrive “good enough”. |
|
| |
| ▲ | delusional an hour ago | parent | prev [-] | | It all sounds so easy, until you learn about the XDG Base Directory Specification[1]. You're actually supposed to do a whole song and dance around a hierarchical set of environment variables, associated defaults, and resolution orders. Interfacing with people is never easy. [1]: https://specifications.freedesktop.org/basedir/latest/ | | |
| ▲ | archargelod 12 minutes ago | parent [-] | | No. Actually, it's easy. Just check for directory or use a fallback. For example here's how you'd do this in bash: export CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
export CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}"
...
XDG_*_DIRS are a bit more complicated, but nothing that can't be solved with a simple for-loop in any modern programming language. |
|
|
|
| ▲ | ozlikethewizard 3 hours ago | parent | prev | next [-] |
| Yea this is something I'd love to see standardised, a distro that was able to enforce a .config folder somehow would be a winner for me. Think weve probably missed the boat though. |
| |
| ▲ | 9dev 2 hours ago | parent [-] | | As these things go, there obviously is a standard for this called the XDG Base Directory Specification[0], which elegantly solves almost all configuration path needs—and has been ignored, violated, or only partially implemented, since forever. [0]: https://specifications.freedesktop.org/basedir/latest/ | | |
| ▲ | amelius an hour ago | parent [-] | | Say what you want about AI but one nice aspect of it is that it is more likely to follow these kinds of standards than humans. |
|
|
|
| ▲ | mort96 2 hours ago | parent | prev [-] |
| You would've preferred binary patching of the executable? Really? |