My folder hierarchy

Tenry - Sep 12 - - Dev Community

On computers, you deal with files and folders. You download something on the internet, it appears in your personal Downloads folder. You copy your favorite photos from your phone to your computer, you put them in your personal Pictures folder. Your favorite music is stored in your personal Music folder. You start working on a new project, you put it in... where do you actually put it? Do you put it into Documents? But it's not a bare document you are creating. Maybe creating a Projects folder? What if you have multiple accounts (e.g. for private and work) on the same computer and want to share files, such as your music, across these? Do you put these into the one account's share folder, the other one?

These are more are questions I often stumbled upon when I started doing more and more on computer, making games, websites, music and more. And across multiple operating systems too (Windows and Linux). In this article I want to give you some insights into how I am managing the files on my computer.

My folder hierarchy

It all started when I had a Linux computer I used for both work and private stuff. At home, I downloaded music I also liked listening to in the office. At home, sometimes I coded some stuff I would like to try in the office. So, I had a bunch of files of my computer I wouldn't strictly consider belonging to either my work or my private account. A new root folder had to be created.

The birth of /files

So, I went sudo and created a root /files directory, making sure my casual accounts have regular reading and writing access to it. I created a few base directories for different purposes. For example, there was /files/dev for all my development stuff, I had another directory for all my "personal" stuff and another one from the stuff from the internet, each once again divided into music, videos etc.

Over time, I noticed my structure wasn't ideal yet. All my programming stuff went into /files/dev, but when I made some music for my game project, I often put it into my personal music folder, since the music project is no coding. I also like casually listening to the music I created myself, but it was separate from all the music from the internet. So recently I revised the structure underneath /files and this is what I came up with:

My folder hierarchy

/files/inbox: Here I put all kind of random stuff I didn't sort into anywhere else yet.

/files/library: This is where I put all kind of resources, music, videos etc. that is not "personal". The resources can be created by myself, such as music I published or Blender templates I created for later use. These files should be "ready to use", so I put my finished MP3 here, not the Cubase project file. Most of the files here however are simply files downloaded from the internet.

I divide this folder into fonts, games, icons, music, pictures, soundfonts, sounds, textures, videos, vst and wallpapers.

/files/personal: This one is very similar to the library folder, having nearly the same structure. The main difference is that this folder contains personal and sensitive files such as private photos, contracts or videos of that party recently where I have not been at.

/files/projects: Finally, there is my projects folder. In the past, when it was still called "dev", I only created game and app projects in here. I repurposed it to also contain music projects, 3D projects and more, since these projects may also require multiple files per project and I work on them over time.

What do you think about this hierarchy? How do you organize your files? Let me know in the comments :)

Bonus: Other devices

Most of my work is done on my Linux computer, having /files in the root. In some cases however I have to work on a Windows computer, for example when using my favorite DAW, which is only available on Windows. However, I still wanted to have all my project files on a central location, which (currently) is my Linux computer. So I started sharing my /files directory on the local network using SMB. That way, I can easily access my Linux files from my Windows computer. I mounted it to a dedicated drive letter F:. So music projects, I do on my Windows computer, go to F:\projects\music and I'll find it on my Linux computer at /files/projects/music.

. . . . . . . .
Terabox Video Player