this post was submitted on 30 Oct 2023
612 points (98.0% liked)

linuxmemes

20880 readers
7 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
all 42 comments
sorted by: hot top controversial new old
[–] [email protected] 73 points 1 year ago (1 children)
[–] [email protected] 9 points 1 year ago (1 children)

It's changeable so I don't really mind but I hate the XDG default data dirs used by most OSs. Uppercase feels out of place, organizing things based on mine type (ex. "Video") feels wrong, and wtf is a "Desktop".

[–] [email protected] 9 points 1 year ago (1 children)

same, I just delete all these dirs and use ~/downloads for everything. If I need a file for more than a couple of hours, it goes somewhere it makes sense, not to a generic dumpster like "Documents".

[–] [email protected] 8 points 1 year ago (1 children)

Been downloading most things to /tmp for years and it was a great decision.

By the time you've extracted, built a binary, picked out what you wanted and put it somewhere sensible, or just realized it won't do what you need, all that's left over is cruft that gets wiped on the next boot.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

Me too. Many distros mount /tmp on ram, so it even helps process things faster, and maybe saves a few writes from ssds. Back when I used an hdd, the diference was brutal.

[–] [email protected] 49 points 1 year ago (1 children)
[–] [email protected] 5 points 1 year ago (2 children)

What does this mean though? Sure it's not new, but does it make it less of a mess?

[–] [email protected] 31 points 1 year ago (1 children)

The XDG Base Directory Specification is a set of guidelines to tell application developers where they should store their application's config files, cache, etc.

There are many applications that don't follow the guidelines and put their files in a hidden folder directly in your home directory, which is what the guidelines are trying to combat.

[–] [email protected] 7 points 1 year ago (1 children)

Sometimes that folder isn't even hidden, either

[–] [email protected] 4 points 1 year ago (1 children)

Really just disrespectful on the developer's part.

[–] [email protected] 2 points 1 year ago (1 children)

cough cough Zoom. But then, even stuff like yay on Arch has its folder just in plain sight, slapped right into my home directory. Like, why

[–] [email protected] 1 points 1 year ago (1 children)

Doesn't yay use XDG_CACHE_DIR?

[–] [email protected] 2 points 1 year ago

Maybe it's because I'm using Endeavour? I'm not sure

[–] [email protected] 18 points 1 year ago* (last edited 1 year ago)

It certainly can. try xdg-ninja.

[–] [email protected] 31 points 1 year ago (2 children)
[–] [email protected] 15 points 1 year ago

I would fucking love it if I could put all my configs there, but unfortunately every other CLI tool seems to feel it needs a spot in the home dir instead..

[–] [email protected] 1 points 1 year ago (1 children)

so ya just put so the stuff in there? is there a reason for that specific directory (I'm kinda a noob)

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (1 children)

It's used to store configuration files for various applications so they don't clutter up your home directory. For example, you can put your Emacs config files in ~/.config/emacs instead of ~/.emacs.d. Not every program supports it though.

[–] [email protected] 6 points 1 year ago (3 children)

Every project should at least move the default config location to the ./config folder. Even better if they create their own subdirectory in there.

[–] [email protected] 6 points 1 year ago (1 children)

Every tool I build checks three places:

  1. An env variable (if it exists) which should point to a dir of the users choosing
  2. ~/.config/tool-name/
  3. ~/.tool-name

Which imo is how every modern application should work

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

For number 2, is it hard-coded to ~/.config or does it read XDG_CONFIG_HOME? The latter is what it should do, so that the user has the flexibility to move all their configs elsewhere.

[–] [email protected] 1 points 1 year ago (1 children)

It's from $HOME so you would want to use the first option

But it's GTK that var is used by some people

[–] [email protected] 2 points 1 year ago

Please follow XDG specs and use $XDG_CONFIG_HOME instead of $HOME/.config. $HOME/.config could be a fallback if $XDG_CONFIG_HOME isn't set. :)

[–] [email protected] 2 points 1 year ago
[–] [email protected] 1 points 1 year ago

No, they should read XDG variables. I have my configs on another drive.

[–] [email protected] 20 points 1 year ago (2 children)

Fine, it's 23:46. You got me to check my PC. Let's have a look.

ls -A ~/

2FAlist.txt
Applications
aurpkt
.bash_history
.bash_logout
.bash_profile
.bashrc
.cache
.cddb
.cert
Cisco Packet Tracer 8.2.1
.cmake
.config
.cups
Desktop
.dir_colors
Documents
.dosbox
Downloads
dump1090
.dvdcss
.elinks
.face
.face.icon
.fltk
.fonts.conf
.gnupg
.gnuradio
.gphoto
.grc_gnuradio
.gr_fftw_wisdom
.gr_fftw_wisdom.lock
gr-gsm
.gtkrc-2.0
.hplip
.icons
iqtosharp
.java
.kal_fftw_plan
.kde4
.lesshst
.local
.minetest
missaurpkg.png
.mozilla
Music
.openjfx
options.txt
.packettracer
packettracer
Pictures
.pki
pkttheme
Public
.putty
.python_history
qsstv
.qt-dab.ini
.qt-dab-presets.xml
.qt-dab-schedule.ini
.qt-scanList.xml
.rnd
rtl_wmbus
sdr-trunk
SDRTrunk
sdr-trunk-linux-x86_64-v0.5.0-beta6
sdr-trunk-linux-x86_64-v0.5.3
snapcore.png
speedtest-1.2.0
.ssh
.ssr
.steam
.steampath
.steampid
Templates
tmp
Videos
.viminfo
VirtualBox VMs
.wget-hsts
.wine
wmbusmeters
.wxlistlog
.wxtoimg
wxtoimg
.wxtoimglic
.wxtoimgrc
.Xauthority
.Xclients
.xinitrc
.zcompdump
zesarux
.zesaruxrc
.zhistory
.zshrc

Pretty clean, I'd say. At least on this install.

[–] [email protected] 9 points 1 year ago (3 children)

Lies. I see no .porn folder!

[–] [email protected] 12 points 1 year ago

we only do homework here

[–] [email protected] 2 points 1 year ago

/usr/local/share/porn

[–] [email protected] 1 points 1 year ago (1 children)

Would that not be under ~/Videos?

[–] [email protected] 2 points 1 year ago

Not strictly. Plenty of non-video content. Anything on nhentai for example. Or literotica. Or old.reddit.com/r/nsfwcyoa or old.reddit.com/r/breedingcaptions . Or any games, like Beasts in the Sun

I swear I wasn't this into porn until covid hit, then I spent too much time at home.

[–] [email protected] 2 points 1 year ago

A fellow sdr enthusiast!

[–] [email protected] 16 points 1 year ago* (last edited 1 year ago)

.config
.config.BAK
.config.BAK2
.config.OLD
.config.bspwm
.config.CWM
.config.JACKAUDIO
.config.LFS1
etc etc

[–] [email protected] 10 points 1 year ago

For when I can be bothered to go through and clean it up a bit, I find xdg-ninja extremely useful

[–] [email protected] 10 points 1 year ago (2 children)

I never share screenshots, my desktop is boring... practical, nothing really fancy.

[–] [email protected] 2 points 1 year ago (1 children)

I just use the defaults lol.

[–] [email protected] 1 points 1 year ago

I "spice it up" to look more or less like I want it to and that's it 🤷 😂.

[–] [email protected] 6 points 1 year ago

It's getting better. I recently removed a bunch of AIX and Solaris specific dotfiles/directories that haven't been of use for years.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

https://wiki.archlinux.org/title/XDG_Base_Directory

Do that for your tools in /etc/profile.d/01-xdg, make it executable, restart, done. Just make sure the XDG_* variables are on top.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

Lots of tools ignore xdg, and issues asking to add support get bogged down in backwards compatibility problems. The best they achieve is to introduce yet another env variable to control where the config goes. It's really annoying.

I have a bunch of TOOLX_CONFIG="$XDG_CONFIG_HOME/toolx" stuff in my bashrc.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Yes? Most workarounds are in the link. If not, please add them.

But sure, some have none.