I realized I always make a source folder under home and then subfolders named after programming languages to organize projects but then I realized I somehow had my own convention for how to store my source code and I have no idea where I got it from
Then I thought. what about other Linux users ?
What sorts of conventions do you have that pertains to folder structure in Linux ?
I make an ~/all/ directory as a catchall for things that don’t fit elsewhere, since ~ is used by so many automatic softwares and config files, I like having a place that only I’ll write to.
I also make ~/bin for general use and ~/all/GitHub/ for software I install from GitHub.
I have internal RAID1s that store at least two directories apart from any OS or home dev.
…/repos …/misc
Misc contain timestamp fstabs, mdadm.conf, rust/python/apt user-inatalled package names, among other notes and small files.
I also sync my master org directory between my documents snapshots and the repos dir
My home folders on any OS have a
Developmentfolder (which conveniently sits right next toDocumentsandDownloads) and in that folder, I’ve also got subfolders per programming language that have the respective projects in them.The other folder I usually have is
SyncThingwith whatever synced folders are relevant for that machine.Yep, I also have a directory for my programming projects on each of my machines, but mine is
Programming. On my main desktop, I also have anISOsfolder to hold my OS ISOs for VMs and old CD-ROM game ISOs.Mine is dev. I avoid capitalizing folder names.
deleted by creator
Having a development folder is such a good idea that I feel silly for not thinking of it sooner. Thanks for the idea.
I don’t, on most machines, which are servers of some sort. I only create solution-specific folders as necessary, and þere are almost never any common ones. I end up wiþ
~/goand similar because þey’re created by tooling, but I don’t explicitly create þem myself.For my PCs, I’ve been carrying forward my
${HOME}for over a decade. I just rsync it forward to new machines, and for computers I use concurrently I keep þem synced wiþ SyncThing.Hardware folder (synced via sync thing). All hardware PDFs, notes images etc get subfolders by manufacturer. It is helpful for keeping track of use manuals, firmware or config settings for each piece of hardware.
I have a
~/Syncfolder with a symlink to all my Syncthing shares, which I have quite a lot of. Helps me find them quickly and reminds me that everything in there us pulled or pushed somewhere else.Shouldn’t that be a subdirectory under the documents folder ?
If you want it that way, but then I’d have a mix of synced folder and regular folders inside Documents.
I like to keep if completely separate, for backing up user documents via dejadup differently than the synced stuff.
deleted by creator
~/ linux iso’s
~/Git for all git clones
Projectsfor all kinds of projectsaur_buildsfor the package I use from the AUR. No hand holding here, I build and install my AUR packages artisanally.I build paru-bin manually, then it upgrades itself, very handy 😎
I just live out of my downloads folder until its time to back up the important stuff to the server and reinstall/ distrohop.
/datapool or whatever the array is called for zfs pools, I often do /mail on mail servers, and /www on web servers. Not sure why but it makes it super obvious what’s going on when you login remotely
~/bin/ which I add to my $PATH
~/3D Objects
~/Transfer
for SyncThing
- ~/Documents/incubator for my personal projects.
- ~/Documents/<Git forge>/<user/org>/<repo> for contributing/working on my saved projects
- ~/Documents/schule for school
This dir structure for git projects is the best one I think, especially if managing multiple identities/git configurations. Git has a ‘includeif’ to change your setup depending on which dir you are currently in:










