Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I can’t tell if this is sarcasm or not.

$HOME is the one directory which belongs to the user. In some cases, it might even be encrypted with a user-owned key. I can’t imagine being comfortable putting my files anywhere _outside_ of the home directory. That feels like going back to the DOS / Win3.x days where hard drives were the wild west.



I follow the above advice. My personal stuff is in $HOME/$MY_FIRSTNAME.

I can organize this directory any way I want to, e.g. by project, time, purpose, whatever. It’s my stuff.

The stuff in $HOME is then more “the computer’s stuff.” (E.g., on MacOS, Photos, Desktop, Downloads - that’s where the computer dumps that stuff.) The other place is where I put things.

This turns out to work quite well. It allows me to be unconcerned when some application wants to put something in $HOME.


Exactly, or simply "$HOME/a" for less typing.


I too follow this advice. I am the only user on my system. I would put all my stuff directly into /home if that were an option which was unlikely to have huge gotchas at some point.


I read the original comment as recommending against putting _anything_ in $HOME. Your solution is far more palatable.


To me its a sane choice on my own single-user machine. I used to create a top level `/data` directory to put my stuff into (before Android was widespread :) ). Nowdays, my data resides in `/data/main`. This scheme has served me well for more than 10a and through various OS migrations (Windows -> Ubuntu -> Debian).

I don't want to have all this `.cache` and similar stuff to take up my expensive backup storage, nor do I want to waste time cleaning up after all the applications that create/expect files in `$HOME` or think this a sensible place to put executable files. I don't want arbitrary applications (heard of tracker?) to start indexing my files and waste CPU on that etc.

Also I don't believe in /home being portable across multiple Linux distributions because e.g. different application versions might require config files to be migrated. Hence I opt for `/data` that can safely be shared across multiple systems because it contains actual data and not some OS-related state files.

On multi-user systems, the `/data` approach doesn't scale. There, I prefer to do just as boomboomsubban writes: I create a subdirectory in $HOME (usually, I call it `wd`, the "working directory") and treat that like my local `/data/main`. For large/temporary files (e.g. application downloads etc.) I add a `$HOME/large` directory to keep the `wd` reasonably small in such cases such that I can again include it in backups without having to worry about the size.

YMMV


It's not sarcasm. It's a pro tip which makes your life easier.

Also $HOME is a system directory, and it belongs to your operating system (.bashrc and such), also to your DE, also about every program and standard that I am aware of claims it for itself to use (freedesktop and such).


> In some cases, it might even be encrypted with a user-owned key. I can’t imagine being comfortable putting my files anywhere _outside_ of the home directory. That feels like going back to the DOS / Win3.x days where hard drives were the wild west.

No. You got it backwards. If you put your stuff in a folder (not in the $HOME folder, but practically anywhere else), then your stuff will be in 1 place, there won't be any name collision with the system, it won't be polluted, and such.

Putting your stuff in $HOME is exactly what you want to avoid.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: