HACKER Q&A
📣 ilovecaching

How do you organize your home directory?


I'm interested in hearing about how others organize the following:

- Source code repositories (personal and work)

- Extra git workspaces

- Virtual machine images

- Documentation and manuals

- Books

I've been iterating on this for many years and have yet to find something "perfect". For source code I've tried the Golang approach of organizing by git repo, using a flat hierarchy under a Source directory, and organizing by work/personal. I've built tools using fzf to quickly switch between projects. I've also made auxiliary directories in home for things like ISOs and qcows. What are other people doing?


  👤 JCWasmx86 Accepted Answer ✓
I have:

- ~/Programming for my projects I worked recently on

- ~/Programming/obsolete for my projects I didn't work on for a longer time

- ~/Projects for projects I currently work on

- ~/tmp for projects where I just write e.g. a small patch for a MR and then push and forget about it

- ~/Downloads/pdfs for all pdfs I downloaded

- My VM images are wherever GNOME Boxes decided to save them

- Documentation and manuals are not in my home directory, but hosted on a Raspberry PI

- ~/Uni for all things for the "Hochschule".


👤 Comevius
~/Projects/$project/$repo for my projects

~/Agenda/$project/$project.md for my notes, one file for each project, each project has it's own encryption key

~/Containers for my Wine prefixes, containers

~/Downloads/{Music, Games, Books} for everything else

I version control my configuration files, projects and notes.

https://github.com/Comevius/dotfiles


👤 theandrewbailey
I keep my work on a separate laptop from personal stuff.

On my work laptop:

I keep all git repositories in one folder. One repo per project.

If a random file that's not in git pertains to a specific client (PDF, spreadsheet, etc), it goes in a client/project specific folder on my desktop.


👤 flying_whales
I do /work and /personal and in the work folder I have a /books folder for all documentation (that is not on Keep or OneDrive). Repos live in the vscode folder in /work. Then I use /Downloads for temp stuff