Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How do you organize your $HOME?
5 points by sophacles on Sept 4, 2009 | hide | past | favorite | 6 comments
My homedir is a mess. Aside from a few well managed categories such as video, music, pictures, it seems I can't keep my homedir organized. There are remnants of half a dozen failed organization schemes, all of them succumbing to laziness or imperfection. There are a few things I particularly fail at: organizing scratch pads (e.g. notes/logs for a project, one off scripts (which I will probably need later after all) and example code), other people's projects particularly if I start contributing back to them, and documents.

With the a long weekend coming up, I was hoping to sit down an do a serious re-org. How do you keep your homedir organized?



The bits relevant to the topic at hand:

  archive/
    people/*/ - misc files from people I know
    projects/*/ - dead source trees of mine
  downloads/ - stuff from the interwebs
  playground/ - simple throw-away code
  projects/
    pool/ - design sketches and failed experiments
      prototypes/ - successful experiments
      */ - design sketches for larger projects
    scripts/ - simple usable tools
    */ - my active project trees
  research/ - huge cache of docs, whitepapers, books
  software/
    sources/*/ - other people's source trees


my homedir is organized as follows:

  bin/ - binaries that aren't installed; appended to $PATH
  docs/ - docs for what i'm working on is here
  src/ - code
    dl/  - that i downloaded
    */ - that i wrote
  misc/ - self explanatory
  notes/ - todos, notes i jotted down, urls
  tmp/ - my sandbox usually filled with downloads, tmp.c and the like
And OS X's dirs like Library, Documnets, etc


In addition to whatever Ubuntu/Debian/OSX puts there, I have

    bin/ --- for scripts I wrote myself
    notes/ --- for notes from talks I've attended, or researched online
    posts/ --- for things I will post to my blog
    stories/ --- I used to fancy myself as a writer
    tmp/ --- anything that doesn't need to be under version control
    vc/ --- checkouts from other repositories
    www/ --- scripts and config for my web server
The whole things is in a mercurial repository.

I have my web server set up so that `*.markdown` files are piped through pandoc when I view them in my web browser.


I've got:

bin/ build/ downloads/ src/sandbox/ src/git/ src/svn/ src/cvs/

The 'downloads' directory is actually my junk drawer, and should probably be called something like 'misc', but my brain is hardwired to type ~/d<tab>.

I'll admit that it's pretty silly that I keep my source code organized by version-control-program, but I have to do it that way to remind me which project comes from which kind of repository.


Pretty much at random. I use Emacs org-mode files and grep as a sort of alternative filesystem; it's a lot more flexible.


I've got a similar setup but I've been using ack recently and have been very happy. Definitely give it a try as a grep replacement.

http://betterthangrep.com/




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

Search: