611
submitted 10 months ago by [email protected] to c/[email protected]
all 42 comments
sorted by: hot top controversial new old
[-] [email protected] 73 points 10 months ago
[-] [email protected] 9 points 10 months ago

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 10 months ago

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 10 months ago

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 10 months ago* (last edited 10 months 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 10 months ago
[-] [email protected] 5 points 10 months ago

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

[-] [email protected] 31 points 10 months ago

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 10 months ago

Sometimes that folder isn't even hidden, either

[-] [email protected] 4 points 10 months ago

Really just disrespectful on the developer's part.

[-] [email protected] 2 points 10 months ago

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 10 months ago

Doesn't yay use XDG_CACHE_DIR?

[-] [email protected] 2 points 10 months ago

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

[-] [email protected] 18 points 10 months ago* (last edited 10 months ago)

It certainly can. try xdg-ninja.

[-] [email protected] 31 points 10 months ago
[-] [email protected] 15 points 10 months 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 10 months ago

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 10 months ago* (last edited 10 months ago)

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 10 months ago

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 10 months ago

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 10 months ago* (last edited 10 months ago)

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 10 months ago

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 10 months 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 10 months ago
[-] [email protected] 1 points 10 months ago

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

[-] [email protected] 20 points 10 months ago

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 10 months ago

Lies. I see no .porn folder!

[-] [email protected] 12 points 10 months ago

we only do homework here

[-] [email protected] 2 points 10 months ago

/usr/local/share/porn

[-] [email protected] 1 points 10 months ago

Would that not be under ~/Videos?

[-] [email protected] 2 points 10 months 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 10 months ago

A fellow sdr enthusiast!

[-] [email protected] 16 points 10 months ago* (last edited 10 months ago)

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

[-] [email protected] 10 points 10 months 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 10 months ago

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

[-] [email protected] 2 points 10 months ago

I just use the defaults lol.

[-] [email protected] 1 points 10 months ago

I "spice it up" to look more or less like I want it to and that's it ๐Ÿคท ๐Ÿ˜‚.

[-] [email protected] 6 points 10 months 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 10 months ago* (last edited 10 months ago)

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 10 months ago* (last edited 10 months ago)

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 10 months ago* (last edited 10 months ago)

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

But sure, some have none.

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

linuxmemes

20765 readers
1446 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