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 ?
projects, games, and programs are the non default folders in mine
~/repos
I do a similar thing for code stuffs, generally always make a
~/Gitand~/Godotso I always have a spot for things.I also delete most of the auto-created ones if I’m using a DE that does that, because I have my own organization going on with various external/network drives. Only one I have always kept is
~/Downloads.Okay what is this
<sub>convention everyone is using and why is it sometimes</sub>?I’m not sure exactly what you’re asking about. Do you mean the directory names?
In unix,
~expands to the user’s home directory path and/just separates each level in the path.Very weird. For some reason Boost displays those like the strings I wrote. Looking at this in the web client now, I see
~. Which btw I’m familiar with :) Thanks for the response!Ohhh, very odd. I’ve been noticing a lot of inconsistencies between Lemmy and PieFed like this, and now an app is something else entirely. Seems the fediverse is not unified on markdown support!
Apologies if I came off as condescending, not my intention.
Just so you can see what I saw:

Conventions I have are:
- Downloads folder is ephemeral, don’t store/keep things in there I might want
- ~/scripts - personal scripts and one offs
- ~/Documents/projects/[subdir] - any tech project I may be working on, gets homed here
- /tmp - always mount it
noexec
I also start off allocating ~ 50GB to
/(root) volumegroup. Wine and proton have been taking up nearly the full space though, may need to expand it on my desktop soon.~/3D Objects
I usually create
~/git/{github,gitlab,codeberg,AUR,etc}where I clone the git stuff I need.The rest is usually handled by my nextcloud that creates the ~/Nextcloud folder.
I just live out of my downloads folder until its time to back up the important stuff to the server and reinstall/ distrohop.
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.
I usually make src, junk, and applications for appimages and unpackaged binaries
Defaults are good for me but I like mounting my secondary drive to ~/Storage with subfolders media, projects, games
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 😎
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.I always make a ~/.local/{bin,opt,share} if the distro lacks it. and a ~/bot that I use for my development stuff
Ahh, a
~/.local/optfolder makes so much sense. I’m currently just using a~/.optfolder, same purpose.yea it makes it so much easier since there’s only one user in the system anyway so makes no sense for everything to be installed system level
Why
bot?The majority of my development work is on chat bots or sites so I’ve always just used bot as the name
~/Projects
I have
~/work/code/project-name-1,~/work/code/project-name-2or~/priv/code/project-name-3, but not by language… I only separate work and private repositories.










