I use ~/code nowadays because one (1) tool managed to think my home directory was the project root since it had a directory called src under it and everything exploded. I wish I remembered what tool it was. I spent an hour debugging the issue.
Sounds like a useful addition. Thinking about directories as "namespaces" makes me wonder, is there any formal- or semi-formal registry of where programs store their project or configuration files? Suppose the Kitty terminal writes a config file to ~/.config/kitty/kitty.conf, but some other program named "kitty" attempts to use that same directory. Are there any standardizations that help prevent these sort of conflicts?
As long as program names are reasonably unique, I can't see this becoming a problem on most systems, but it's still something I wonder about.
When executable names conflict, you need to do something about this just to have both in PATH, I guess you can patch the config path too, while you are at it?
I've had a ~/Development directory for repositories/projects for years, and this seems like a very nice addition that I'll likely adopt as a replacement.
Nice that I somehow stumbled into using the new default. I've had a ~/Projects for a decade or two. Initially the capitalisation was for consistently with Mac OS X, but I carried it across to Linux too.
I really want an explicit opt-in to xdg (for systems where xdg isn't the default choice - e.g. macOS).
The way this needs to work is that there's another env variable / setting somewhere that says to use XDG for the mode.
This can't be XDG_HOME - that's the location, but setting it is not enough to be able to actually opt-in. There are many issues in a variety of libraries for various languages that explicitly choose the operating system default folders instead of XDG_HOME because it's mostly natural.
Basically this should be a "I know what I'm doing here - use XDG"
I've been doing this for ages. Nice way of keeping projects hanging out in a contained location, easy to back up, too. Looks like I won't even have to change anything.
I really hope OBS adopts this instead of dumping its obs_profile/ directory directly in ~. In the grand scheme of things not the biggest deal but I do lose some respect for programs that do this.
This is a nice addition!
However, I've always disliked (across all the operating systems) how default names tend to capitalize things! Maybe it shows my older age, or maybe the miniscule time and effort it takes me for the additional keyboard click of the shift key annoys me enough, or maybe its my OCD (I readily admit this!), or maybe I spend more time on the terminal (vs clicking around file managers via mouse)...either way, I've never been a fan of directory names that start with capital letts, or have spaces in names, etc.
On a separate note, I'm always appreciative of the time and effort invested over at FreeDesktop/XDG...whether i agree with some choices or not, the work they do is GREAT!!! Also, i'm reminded of some of the utilities (like the one referenced in this blog post), and when i see the list, there really are some amazing things that are created! Kudos to all involved for making things that benefit us all!!!!
I started using ~/Developer because macOS gave it a unique hammer icon when pinned on the Finder sidebar, and stuck with it even when I moved to nixOS. This sounds like a good moment for me to switch to ~/Projects, which is definitely a better name.
zie | 21 hours ago
I've had
~/src/for a very long time. I'm way to lazy to type out all those extra chars.iv | 11 hours ago
I use
~/codenowadays because one (1) tool managed to think my home directory was the project root since it had a directory calledsrcunder it and everything exploded. I wish I remembered what tool it was. I spent an hour debugging the issue.nicoco | 20 hours ago
You can customize their paths. https://wiki.archlinux.org/title/XDG_user_directories#Creating_custom_directories
hawski | 17 hours ago
I use ~/src (or ~/repos previously) for other people's code. For easy grepping and history digging.
zipy124 | 14 hours ago
The whole point of XDG directories is that you can set them to be whatever you want, so you could still have ~/src/ though?
peter-leonov | 19 hours ago
Feel you. Mine evolved into just
~/w(so it's alwayscd+cd waway. I guess, it stands for "work", or maybe "web".atmosx | 11 hours ago
Jump handles that. I don’t cd since forever.
nomnp | 11 hours ago
I use ~/Developer on macOS, since it automatically uses the old /Developer icon.
seabre | a day ago
I've been using
~/projectsfor yeeeeeears. I guess I'll have to start uppercasing the name.nicoco | 20 hours ago
You van customize the path. I use ~/dl for downloads, ~/docs for documents, etc.
zladuric | a day ago
Then you'll get random CAD crap in there. I'm leaving mine lowercase :)
Melkor333 | 14 hours ago
I guess you'd need to actually produce the random CAD crap first ;)
Aks | a day ago
I have had "Repositories" folder for this, but I might change to Projects!
vhodges | 11 hours ago
~/work/src (and ~/play lately) since my Amiga days (it was work:src back then)
px64 | a day ago
Sounds like a useful addition. Thinking about directories as "namespaces" makes me wonder, is there any formal- or semi-formal registry of where programs store their project or configuration files? Suppose the Kitty terminal writes a config file to
~/.config/kitty/kitty.conf, but some other program named "kitty" attempts to use that same directory. Are there any standardizations that help prevent these sort of conflicts?As long as program names are reasonably unique, I can't see this becoming a problem on most systems, but it's still something I wonder about.
hjvt | a day ago
cough windows registry cough
k749gtnc9l3w | a day ago
When executable names conflict, you need to do something about this just to have both in PATH, I guess you can patch the config path too, while you are at it?
kiyurica | 23 hours ago
Flatpak stores each app's stuff in
.var/app/$FLATPAK_IDwhere the ID is supposed to be based on the domain e.g., org.gnome.Builderborntyping | a day ago
I've had a
~/Developmentdirectory for repositories/projects for years, and this seems like a very nice addition that I'll likely adopt as a replacement.wezm | a day ago
Nice that I somehow stumbled into using the new default. I've had a
~/Projectsfor a decade or two. Initially the capitalisation was for consistently with Mac OS X, but I carried it across to Linux too.joshka | 15 hours ago
I really want an explicit opt-in to xdg (for systems where xdg isn't the default choice - e.g. macOS). The way this needs to work is that there's another env variable / setting somewhere that says to use XDG for the mode.
This can't be XDG_HOME - that's the location, but setting it is not enough to be able to actually opt-in. There are many issues in a variety of libraries for various languages that explicitly choose the operating system default folders instead of XDG_HOME because it's mostly natural.
Basically this should be a "I know what I'm doing here - use XDG"
Previously: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=joshka%20xdg&sort=byDate&type=comment
ndegruchy | 11 hours ago
I've been doing this for ages. Nice way of keeping projects hanging out in a contained location, easy to back up, too. Looks like I won't even have to change anything.
Fingel | 11 hours ago
I really hope OBS adopts this instead of dumping its obs_profile/ directory directly in ~. In the grand scheme of things not the biggest deal but I do lose some respect for programs that do this.
kevinc | 10 hours ago
Hmm. That's the path I use for my own project history, but I don't put projects directly in there; they go in subfolders by year. So close
kbd | 9 hours ago
How we have directories like usr, src, lib, .config, etc. and they name the new thing “Projects”. I’ll stick with my ~/proj.
mxuribe | 8 hours ago
This is a nice addition! However, I've always disliked (across all the operating systems) how default names tend to capitalize things! Maybe it shows my older age, or maybe the miniscule time and effort it takes me for the additional keyboard click of the shift key annoys me enough, or maybe its my OCD (I readily admit this!), or maybe I spend more time on the terminal (vs clicking around file managers via mouse)...either way, I've never been a fan of directory names that start with capital letts, or have spaces in names, etc.
On a separate note, I'm always appreciative of the time and effort invested over at FreeDesktop/XDG...whether i agree with some choices or not, the work they do is GREAT!!! Also, i'm reminded of some of the utilities (like the one referenced in this blog post), and when i see the list, there really are some amazing things that are created! Kudos to all involved for making things that benefit us all!!!!
dz4k | 8 hours ago
set completion-ignore-case onin~/.inputrcorbind 'set completion-ignore-case on'in bashrc takes care of that for me.dz4k | 8 hours ago
I like using
~/Projectsfor my own stuff, and~/.local/src(nonstandard) for other people's software that I'm installing from source.Also, does this mean Projects will get a custom icon in GNOME? That would be nice.
cesarandreu | 4 hours ago
I started using ~/Developer because macOS gave it a unique hammer icon when pinned on the Finder sidebar, and stuck with it even when I moved to nixOS. This sounds like a good moment for me to switch to ~/Projects, which is definitely a better name.