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 ?
~/bin/ which I add to my $PATH
$HOME/temp, $HOME/git, ln -s $HOME/git/scripts $HOME/scripts
I’m a
~/tmpman myself.
Separate folders in the download one. One for each app. And a separate /home/sync folder with the same app separation folders to safekeep the backups of android apps and DCIM folder.
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.~/nixos/ for my NixOS config ~/repos/ for git repos ~/audio/ for my sound library and recordings
Code goes in the
Developerfolder(I got used to that name on macOS, where it is the “canonical” name for it, because it automatically gets a special icon)
~/tmp
~/temp
~/temper
~/tempest
~/misc
/mnt/other (symlinked)
~/Repos (For all the github and other code repositories I work in)
~/Scripts (All my random Bash scripts, sometimes for testing out stuff)
~/Junk (Mostly used for testing programs or small project components that aren’t mature enough to have their own repo)
~/zz-1 (porn)
- /ram - tmpfs filesystem
- ~/.local/bin - added to my path
- ~/.local/software - any user-local program more complicated than a binary gets a directory here. Generally a binary would be symlinked to ~/.local/bin
- ~/.local/venv - shared python venv to use for one liners and small scripts
- ~/repo - local filesystem backed package repository for which the host system is configured to install from
- ~/.local/repo - local filesystem backed package repository for which the host system is not configured to install from (used for mock, VMs, and external systems).
- /overflow - Used to point to a large secondary hard drive (back when having a small ssd was the economical thing to do. Nowadays, it is just where my large directories go cause I can’t be bothered to get used to a more sane setup
~/Brojetos(anything relating to making stuff, writing, drawing, video creation, programming, etc., professional or personal)~/temp(a non-hidden temp folder with a script that wipes it when the PC shuts down or reboots, used for downloads and such to prevent the “downloads folder is an abomination” problem that plagues any computer after a while of usage)~/AppsGames(appimages, applications compiled from source and not installed to system, personal use scripts, wineprefixes, non-steam games)aaaand
~/OtherAminals(for stuff I want to keep but have no idea where else to place)~/{nextcloud,git,pictures/screenshots,music,docs,videos}In terms of what I manually create. Dot directories normally get automatically created but I guess I’d create a
~/.configif it didn’t get created.Archive
Archive archive
Archive_11_2025
I am not good at organizing
~/Homework (porn)
~/aaaaaaa (porn)
~/Stuff (memes, with a porn subfolder)
~/misc (work docs, study docs, forms, some porn)
What about the ~/Porn folder?!
That’s for startup ideas
~/devfor code
~/workfor things I don’t want to do, like taxesI tend to put work dir under documents but yeah would be the same having a
devorlocaldir for code.I do similarly, but I use ‘~/Development’ only because I accidentally fucked up my ‘/dev’ dir once using ‘~/dev’
Ohh good point. Maybe I should switch to
~/code







