Your .dots have arrived
Your .dots have arrived
Your .dots have arrived
Firefox has an issue that's been open for 20 years regarding implementing the XDG Base Directory Specification.
my favourite part is Steam throwing in a symlink, a broken symlink, and a directory of 4 files and 7 more symlinks that all point to a more reasonable point in ~/.local/share/steam/
Which indirectly led to this wild as fuck bug that nuked some poor user's data.
Here is an alternative Piped link(s):
https://piped.video/qzZLvw2AdvM?si=FznMm9CQxD-da9S6
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source; check me out at GitHub.
A YouTube video over an article? :(
Haha you just reminded me of that damn flashing broken steam sym link in my home folder, it's been there for years and I've yet to investigate or do anything about it.
It's there for ancient compatibility reasons and recreated when steam starts, iirc. I've looked a bit into removing it last year but didn't get far
Bubblejail solved that for me.
Protect your home, use xdg ninja
Ninja can't help if the program does not want to cooperate :(
You can use a wrapper script on PATH that launches the app in a fake home wherever you want.
It's one thing when they have legacy hardcode mountains preventing a standardisation, but I really dislike developers who just disagree with the standard and take away the choice as well and justify it with some made up problems with that standard.
https://github.com/minetest/minetest/issues/864
https://bugzilla.mozilla.org/show_bug.cgi?id=735285
etc...
Archlinux Wiki even has an article about those.
https://wiki.archlinux.org/title/XDG_Base_Directory#Hardcoded
Haven't used much of Linux before, can someone explain the joke?
The Windows equivilent would be instead of putting application data in the AppData folder, it throws it in Documents, My Games, or just in the home folder directly.
Most software on Linux is configured to place their config files in ~/.config. Some others, like the ones in the pic, just dump them directly into your home folder.
Yes.
Many applications have configuration files. Historically these files were placed in your home directory aka "on the floor". The variable mentioned defines a directory where these files should go. Many applications ignore this.
A non-linux version of this meme might go,
"Here is the pizza you ordered"
"Great, could you put it in my hands"
"Lol (throws pizza on floor)"
$XDG_CONFIG_HOME is an environment variable that programs can (and should) read to determine the location for storing dotfiles (config files, kind of). Not reading (or caring about) the environment variable, and not adhering to the default of /home/username/.config/ results in them ending up in the home directory.
So in linux you have an extra directory just for configuration files/directories wich often start with a . (Dot) (that's why they are calld dot files). But some applications dont use that directory but rather just dump them into your user directory, wich causes it to get cluttered with files wich should be put into the ".config" directory
Meanwhile kde scattering everything in .config/
If plasma could put all their damn files inside a "plasma" folder that'd be great too.
I literally can't find a single plasma config file that i'd need to edit...
In theory this issue can be solved with LD_PRELOAD trick. E.g. redirect all/most/some fopen
calls to "$HOME" to some other directory. But before I try to tackle it myself: is there already a similar solution like that?
You could probably do it with bubblewrap or something equivalent. Here's someone asking about this exact thing:
https://unix.stackexchange.com/questions/651788/redirect-single-file-or-directory-using-bubblewrap
I do it with Bubblejail for Steam and a symlink to .local/share/Steam for compatibility with tools.
I love you all very much but just please be aware that "the floor" is literally where the files are supposed to go, according to the spec. I don't like it, you don't like it, nobody likes it. But that's why it's happening.
Relevant section quoted for the lazy:
User specific configuration files for applications are stored in the user's home directory in a file that starts with the '.' character (a "dot file"). If an application needs to create more than one dot file then they should be placed in a subdirectory with a name starting with a '.' character, (a "dot directory"). In this case the configuration files should not start with the '.' character.
i understand the linux side of the joke but can someone explain what this meme format means? /gen
is this pizza guy known for chucking pizzas?
One particular pain for me in VSCode is that it puts a .vscode folder in my repo, which I have to specifically exclude from git every single time. I can't expect other users of the repo to use vscode, let alone my settings synced to git. In firefox, it sometimes gets tricky finding the profile folder, as it changes across distros. Similarly, I always find it difficult searching for service files (there are at least 4 folders that I now know of). All of this searching around and doing little things used to be irritating - though you get used to it, and figure out shortcuts. TBH - windows has some of this too - I had to customise a bunch of stuff on first boot.
No clue about Nvidia - I hear they make something called GPUs but I have not been able to afford any, so can't say I relate.
One particular pain for me in VSCode is that it puts a .vscode folder in my repo, which I have to specifically exclude from git every single time.
That's pretty standard behavior for IDEs. Like Jetbrains IDEs store their config in a .idea folder in the root of the workspace, Visual Studio has a config directory in the root of the workspace, xcode probably does the same thing... It's standard practice, and a simple thing to account for - as you said, just add it to your .gitignore and you're golden. That allows people to use whatever IDE they want and configure it however they like.
Interesting. The default gitignore in Windows at least for both vscode and visual studio exclude those directories along with obj, bin, etc and a bunch of other non code files.
No user choice via variable.
Exactly that, it's messy and doesn't follow standards, making it harder to find specific files.
Set your config directory to be your home directory and outplay those apps
Pain
Don't forget Flatpak.
It’s about config files, not downloads