Folder layout

See the accompanying files on Github.

Main benefits

I'm documenting my own folder layout because it answers many problems for me:

ProblemSolutions
need to backup all files Duplicati
need to manage code projects Git
need to manage the configuration of my PC make a specific project for this, called core
need to organize all files
  • ok for code repositories, as projects have all sorts of established conventions
  • for the rest: the Johnny Decimal system
need easy installation procedure & managing two PCs
  • simple folder layout
  • automate as much as possible
  • install the portable version of softwares when possible

An important constraint is that Git is not meant to handle large files nor binary files. It would have been great though, especially for the portable softwares. A classic complement to Git is “Git LFS” but it does not work well with USB drives unfortunately.

General folder layout

I store all my files in C:/home/ in three sub-folders:

  1. core/
    Git clone of the project with the configuration of my PC
  2. static/
    all my non-code files, backed up by Duplicati
  3. work/
    all my code projects

I chose to have two backup drives… but I'm thinking more and more about grouping everything on one. Here they are:

  1. the repositories drive R: to clone all my code projects
  2. the backup drive B: to backup the rest of my files

And here is how the layout appears for each drive:

C: is the drive of the PC, R: is the drive of the USB key storing the repositories and B: the drive of the USB key storing the backup of the rest of files.

Folder
C:/home/
core/ clone of the core project from R:/repositories/core/
duplicati/ image of B:/home/duplicati/, scripts of backups and restores + the Duplicati database file
static/ sole folder backed up by Duplicati
work/ contains any Git clone from R:/repositories/work/
B:/
backup/ contains all the backed up files of the C:/home/static/ folder
my_backup_is_here.txt empty file to indicate to Duplicati where to store the backup files
home/
duplicati/ image of C:/home/duplicati/, scripts of backups and restores + the Duplicati database file
R:/
repositories/
core/ Git repository of the core project
work/ contains all my Git repositories
The duplicati folder

This folder is typically found on my backup drive.

When I install a new PC, I copy this folder on the fresh PC and I use either 1-restore-bin-folder.bat or 999-restore-all.bat. In both cases, I get back all the basic softwares I use, especially Git, Notepad++ and my terminal. I then use 2-clone-core.bat and I am done with this duplicati/ folder.

Of course, when I have not yet backed up my files, this folder was on my main PC and I used 999-backup.bat to make a backup and then a copy of the duplicati/ folder on my backup drive. Consult the README for more details.

The core project

This project is the very first one I clone when installing a PC since it has my installation scripts and notes. It then evolves occasionally but always for important matters like:

Therefore, this project is my first tab in Sourcetree so as to never miss to commit a change. Consult the README for more technical details.

Examples of content

Here are some real examples of what the static/ and the work/ folders actually contains. I hope it can give you a better idea of whether this layout fits your needs or not.

Folder
static/
bin/ contains the portable softwares I use
data/ contains offline documentations or scanned documents
personal/ contains all the documents about my life (see next section).
work/
archives/
fonts/ holds all the fonts I use
notepad++/ holds the configuration of Notepad++
dcp/
folder-layout/ the repository that I shared on Github about this very folder layout
site/ the code of this very site
external/ contains cloned repositories that I am studying
in-progress/
notes/ a repository about all kinds of notes
testnow/ the testnow project, unit testing for Typescript
tmp/ contains anything that does not fit in the other folders
Examples of using the Johnny Decimal system

The Johnny Decimal system is very impressive and pretty neat. I made this section to provide an example, just like the previous section did. But also to tell you to really try it out, even if superficially.

I have not gone full depth on the system: I mainly have the areas (first digit, for folders at depth 0) and categories (second digit, for folders at depth 1). Sometimes, in some places, I have used the numbers “XX.YY”.

The system is already very valuable, as any new document I get has most certainly a target folder waiting for it. If not, I have the folder organization I need to create a new folder at the exact appropriate place. This was always my main hurdle: where to put the damn file?

Here is how I laid things out for me in my personal/ folder:

Folder
10-19 Administration/
11 Career/
11.01 Curriculum Vitae/ One of the rare instances where I use the numbers “XX.YY”
12 Taxes/ one folder per year (already escaped the system!)
13 Public/ various folders about official stuff that is not about taking my money
14 Banks/ One folder per bank. Ditched the numbers again…
15 Insurances/ Home, car & health, by their name (ditched the numbers again!)
16 Rents/ One folder per location, then by subject (contract, electricity, water, etc.)
17 Travels/
20-29 Freelance-201X/

I tried freelancing but it did not work.

30-39 Oeuvres/
31 Music/
32 Photos/
33 eBlio/
40-49 Investments/

I tried stocks and cryptos on various platforms. It generated “some” documents…

50-59 Prog-notes/

I tend to collect a lot of links and technical papers. Needless to say, this folder is a huge mess.

60-69 Freelance-202X/

On my way to fail again, probably.