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 ?
My homedir is an infernal hellhole of junk accumulated over the past 15 years and I wouldn’t have it any other way
I just prepend everything in the home directory with a dot every 6 months or so, no problems so far
~/Projects - for my coding projects
~/Qt - which holds the Qt framework
~/Torrents - For torrents that I share
I
rsyncmy home folder across installs. These are my standard extra folders.~/Books, with subfolders by topic.~/Comics, with subfolders by publisher, then by title, possibly with an intermediate folder for author or franchise.~/Programming, with subfolders by language, then project.~/ linux iso’s
Usually gitor development.
~/autoclean and a cron job to delete everything older than 7+ days from there. I can just download whatever, throw it in a special folder and it’s gone after few days. Keeps my ~/Downloads a bit more clean, easy to store temp txt files to keep track of what I currently have on hand and so on.
I remove files and folders older than 30 days in my Downloads folder. But my work does make me download things that I often only need for less than a day. If I need to keep something, then it goes into whatever folder or online service where it should be. It is deleted to my trash bin and that has another 30 days before being permanently deleted. I haven’t had to pick anything out of the trash just yet.
I usually create ~/git/github where I clone the git stuff I need.
The rest is usually handled by my nextcloud that creates the ~/Nextcloud folder.
~/repos
- ~/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:
~/Homework
~/dev~/dev/oss~/dev/work~/dev/personalFrom back when I used to freelance as a photo and video editor.
~/Mediawhich was a mount point for my second hard drive with all the personal and paid customer’s I was working on, it was a mix of Music, Photos and Videos that I was creating, but not consuming if that makes sense.Just a remnant from back when I had a small SSD with my OS and a second larger mechanical drive for everything else
Under
~I usually make~/Applicationfor flatpaks/appimages etc,~/Scriptfor any kind of script I write in bash, python, or whatever else,~/Audiofor audio/music production stuff, and~/Gamesfor emulators and such.~/Documentsis reserved for actual documents containing text data usually.~/Projects
Multiple people in this topic say they organise in directories for different programming languages, something I have never considered and I find it to be an odd way of organising for some reason I can’t explain.
Where do you put a project with a Javascript frontend and a Python backend?
for me I consider that a web project so it goes into the typescript folder, if it’s backend only then python
Why group it into language instead of say a ‘web’ directory or ‘android’/‘mobile’?
I’m just curious, I am more of a ‘throw everything in one directory and home I remember what I’m looking for’ sort of organiser.
Honestly it’s a pretty good way of compartmentalizing projects in your mind.
You usually remember pretty well what language your wrote a project in.
And if you want to find a project again you just have to look in that language’s directory.Second advantage is that if there’s a language you only fucked around a little for fun, it doesn’t clutter the directories of your most used languages.
I agree, just have it by project. Otherwise I might have to look in different folders to find something. And what does it add, that something is grouped by language?










