How do you organise $HOME?

Home directories often turn into spooky graveyards of random files, temporary directories and images of lolcats. It takes courage to delete the mess, because there may be one or two important files hiding amongst the pr0n. As a result, many scientists have grown afraid to run “ls ~” in public, fearing that the output of said command will expose them as file-hoarding maniacs. (By the way, the fear of running “ls ~” should be called domusindexophobia in Latin.)

For years I have employed the popular strategy of sticking random files on the desktop, and whenever it becomes a mess, create a folder called “oldstuff” and move everything into it. The strength of this strategy is that it can be repeated indefinitely (oldstuff2, oldstuff3, oldstuff4…), the weakness is that you remain a file-hoarding, domusindexophobic maniac.

In the past few months I decided to adopted a more sensible strategy. From henceforth, my home directory shall never contain more than 7 (non-hidden) directories:

  • ~/tmp: all downloads and unimportant files go here; may be emptied without notice.
  • ~/bin: locally installed software, i.e. “./configure –prefix=~/bin/foo” and my Python distro.
  • ~/dev: source code trees for programming projects (sub-directories are GitHub repositories!)
  • ~/proj: various non-programming projects.
  • ~/doc: subdirectories for receipts, boarding passes, papers, books, etc.
  • ~/lts: things to archive forever (“Long Term Storage”); e.g. photos and science data (with README files!)
  • ~/msc: a resort for things which don’t fit elsewhere.

There is just one exception to this rule: the additional directories which are forced upon me by the Apple Homedir Police in OSX are allowed to be present (I hardly have a choice), but they are not allowed to contain anything useful. There is no exception to the rule in any of the Linux boxes I use.

I employ different backup strategies for each folder. For example, parts of ~/lts sit on an external network drive, while much of ~/doc sits on DropBox and most of ~/dev sits on GitHub.

Is this a Sensible Approach™? What does your nest look like?

Advertisements

Posted on 2012-10-30, in Data science. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: