this post was submitted on 28 Sep 2023
603 points (98.9% liked)

Linux

47361 readers
1741 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] ouch@lemmy.world 72 points 11 months ago (3 children)

If you care, please take time to upvote or file bugs on packages that don't follow XDG. Or even better, make PRs.

[–] kogasa@programming.dev 5 points 11 months ago (3 children)

Those bugs and PRs would just get closed without comment. Nobody is going to move a dotfile as a breaking change in any established software. You either get it right the first time or probably never.

[–] nous@programming.dev 30 points 11 months ago (1 children)

The software can read from both locations in a backwards compatible way. Many tools already do this.

[–] CosmicTurtle@lemmy.world 2 points 11 months ago (1 children)

The best way to handle this is to have the next version move the old directory (if it exists) and then start reading from there.

That way it's in compliance from then forward.

A UI notice is nice but will probably be ignored.

[–] donnachaidh@lemmy.dcmrobertson.com 11 points 11 months ago

That could break some peoples' dotfile management, e.g. symlinks or git repos. I'd say deprecation notice and reading from both, at least for a while, is better.

[–] Imnebuddy@lemmy.ml 8 points 11 months ago* (last edited 11 months ago)

I know developers are busy, and I don't mean to berate them for their choices or work. I only have a two year Computer Information Systems degree and haven't programmed a lot for a while, but supporting the XDG specification and remaining backwards compatible doesn't seem to be very difficult or would cause so much breakage (of course, the amount of work would depend on the software and how the hardcoded path is implemented). I look up git repository issues for the software and tend to find ubiquitous examples like vim to be resistant to such change: https://github.com/vim/vim/issues/2034

This is really frustrating and leads me to find alternative software, such as neovim/doom emacs instead of vim, nushell instead of bash, etc., just to be able to clear up my home directory. I don't mind if I have to wait for XDG to be supported, but many important projects just label the issue as "won't fix". I totally understand where you are coming from.

List of software with hardcoded paths at this time: https://wiki.archlinux.org/title/XDG_Base_Directory#Hardcoded

[–] zaubentrucker@sopuli.xyz 4 points 11 months ago (1 children)

You can add the proper location to the list of possible dirs. Fhen you can movd your dotfile

[–] kogasa@programming.dev 2 points 11 months ago (1 children)

If you install config files to the new location and prefer the new config file location over the old, you risk accidental misconfiguration when a system has both config files (e.g. in a build pipeline that installs the software and then copies the config to the old location). It is not impossible to solve, but there are questions that require some care if you have a large userbase and solidified codebase. More care than it takes to do it right the first time.

[–] aulin@lemmy.world 4 points 11 months ago

A (very well used) program I use places files in $HOME. Someone argued for changing to $XDG_CONFIG or at least add that as an option. The dev, being used to the old school way, gave the exact opposite reason: that .config was just an extra level of organization when dotfiles are what the home dir is for. So I'm not sure how successful you would be with that approach.

To be clear, I am clearly on the side of XDG, myself.

[–] cbarrick@lemmy.world 4 points 11 months ago (1 children)

XDG is a Red Hat thing.

Stuff outside of their influence is unlikely to change, like OpenSSH or ZSH.

[–] flying_sheep@lemmy.ml 10 points 11 months ago

Old things like that get a pass. New tools and frameworks should definitely obey the standards.