Hello old new “Projects” directory

58 points by FedericoSchonborn a day ago on lobsters | 29 comments

I've had ~/src/ for a very long time. I'm way to lazy to type out all those extra chars.

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.

nicoco | 20 hours ago

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 always cd + cd w away. 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 ~/projects for 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_ID where the ID is supposed to be based on the domain e.g., org.gnome.Builder

borntyping | a day ago

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.

wezm | a day ago

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.

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

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!!!!

additional keyboard click of the shift key annoys me

set completion-ignore-case on in ~/.inputrc or bind 'set completion-ignore-case on' in bashrc takes care of that for me.

I like using ~/Projects for 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.