this post was submitted on 09 Dec 2025
137 points (97.9% liked)

Linux

60132 readers
404 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

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 ?

top 50 comments
sorted by: hot top controversial new old
[–] fum@lemmy.world 4 points 1 day ago

~/bin/ which I add to my $PATH

[–] sem@piefed.blahaj.zone 1 points 1 day ago

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.

[–] KaChilde@sh.itjust.works 22 points 2 days ago* (last edited 2 days ago) (2 children)

~/Homework (porn)

~/aaaaaaa (porn)

~/Stuff (memes, with a porn subfolder)

~/misc (work docs, study docs, forms, some porn)

[–] Holytimes@sh.itjust.works 9 points 2 days ago (1 children)

What about the ~/Porn folder?!

[–] xor@lemmy.blahaj.zone 11 points 2 days ago

That's for startup ideas

[–] aeternum@lemmy.blahaj.zone 1 points 1 day ago

So where do you store your porn?

[–] moopet@sh.itjust.works 7 points 2 days ago* (last edited 2 days ago)

~/tmp

~/temp

~/temper

~/tempest

~/misc

/mnt/other (symlinked)

[–] Chewt@beehaw.org 1 points 1 day ago* (last edited 1 day ago)

~/Scripts for any bash or python scripts
~/Gits for any repos I clone
~/Projects for any projects im working on (not organized by programming language, but I do have some dirs called zig, go, etc., for when im learning a new language and want to make some projects for learning purposes)

Most other files go into ~/Documents if they don’t have a home already, or don’t fit into the above directories

[–] northernlights@lemmy.today 2 points 1 day ago (1 children)

$HOME/temp, $HOME/git, ln -s $HOME/git/scripts $HOME/scripts

[–] qjkxbmwvz@startrek.website 5 points 1 day ago

I'm a ~/tmp man myself.

[–] homura1650@lemmy.world 12 points 2 days ago* (last edited 2 days ago)
  • /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
[–] Auth@lemmy.world 1 points 1 day ago

Public - for everything im seeding and sharing

Apps - for all app images

Games - for all lutris spam and random failed attempts at installing mods.

[–] Renohren@lemmy.today 2 points 1 day ago* (last edited 1 day ago)

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.

[–] taaz@lemmy.world 1 points 1 day ago

~/Projects which has everything I ever cloned or started. yes, it's getting kind of painful to backup :D

[–] owsei@programming.dev 1 points 1 day ago* (last edited 1 day ago)

~/code for code

~/dots for git-backed nix configs

~/.rt for projects compiled locally ("runtime")

~/Screencast for recordings of my screen

I also create a ~/.shrc.bash symlink that points to ~/dots/bash/bashrc that reats ~/dots/bash/*.bash and sources the files

~/.shenv.bash where I keep environment (computer) specific settings

[–] Evil_Shrubbery@thelemmy.club 15 points 2 days ago (1 children)

At least two of these:
~/Stuff
~/Stuffs
~/Stuffz
~/Shits

[–] Cyber@feddit.uk 7 points 2 days ago (1 children)
[–] Evil_Shrubbery@thelemmy.club 7 points 2 days ago* (last edited 2 days ago)

No, ofc not, I'm not a degenerate without a plan!!
This isn't a game.

[–] Baguette@lemmy.blahaj.zone 9 points 2 days ago* (last edited 2 days ago)

Archive

Archive archive

Archive_11_2025

I am not good at organizing

[–] Ricaz@lemmy.dbzer0.com 32 points 3 days ago (6 children)

My homedir is an infernal hellhole of junk accumulated over the past 15 years and I wouldn't have it any other way

[–] TriangleSpecialist@lemmy.world 17 points 3 days ago (1 children)

I'd love to keep it clean but too many devs think $HOME is up for grabs, as long as they prepend their directory names with a dot (they think I'll never notice, but I notice, and I keep a list...)

[–] Ricaz@lemmy.dbzer0.com 10 points 3 days ago* (last edited 3 days ago) (4 children)

Dafuq are you doing in other people's homes?

Sysadmins are all creeps, confirmed

load more comments (4 replies)
[–] CrabAndBroom@lemmy.ml 8 points 2 days ago

Mine used to be like that, but now my home folder is rehabilitated by turning ~/Documents into a hellhole of accumulated junk instead.

[–] communism@lemmy.ml 4 points 2 days ago

Mine used to be the same but the last OS reinstall I reset everything, moved my files onto an external drive, and only copied them over on a needs basis. I'd been keeping the same home dir since I was like 4 or however old I was when I started using a computer. So needless to say there was a lot there that made me cringe to see every time I tried to navigate my files.

load more comments (3 replies)
[–] Lettuceeatlettuce@lemmy.ml 4 points 2 days ago* (last edited 2 days ago)

~/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)

[–] iamlyth@beehaw.org 2 points 1 day ago

~/nixos/ for my NixOS config ~/repos/ for git repos ~/audio/ for my sound library and recordings

[–] Theoriginalthon@lemmy.world 1 points 1 day ago

/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

[–] bitwolf@sh.itjust.works 7 points 2 days ago* (last edited 2 days ago) (2 children)

~/dev for code
~/work for things I don't want to do, like taxes

[–] Apparatus@programming.dev 8 points 2 days ago* (last edited 2 days ago) (1 children)

I do similarly, but I use '~/Development' only because I accidentally fucked up my '/dev' dir once using '~/dev'

[–] bitwolf@sh.itjust.works 4 points 2 days ago

Ohh good point. Maybe I should switch to ~/code

load more comments (1 replies)
[–] VinesNFluff@pawb.social 5 points 2 days ago* (last edited 2 days ago)

~/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)

[–] Dave@lemmy.nz 29 points 3 days ago (8 children)

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?

load more comments (8 replies)
[–] termaxima@slrpnk.net 2 points 1 day ago

Code goes in the Developer folder

(I got used to that name on macOS, where it is the "canonical" name for it, because it automatically gets a special icon)

[–] aesopjah@sh.itjust.works 9 points 2 days ago

~/proj
~/note
~/sync
~/docs (/book etc)
~/imgs ~/util ~/test ~/temp

[–] QuarterSwede@lemmy.world 27 points 3 days ago

~/3D Objects

[–] mbirth@lemmy.ml 30 points 3 days ago (4 children)

My home folders on any OS have a Development folder (which conveniently sits right next to Documents and Downloads) 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 SyncThing with whatever synced folders are relevant for that machine.

Having a development folder is such a good idea that I feel silly for not thinking of it sooner. Thanks for the idea.

[–] anon_8675309@lemmy.world 16 points 3 days ago

Mine is dev. I avoid capitalizing folder names.

load more comments (2 replies)
[–] Sxan@piefed.zip 1 points 1 day ago

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þ ~/go and 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.

[–] olafurp@lemmy.world 5 points 2 days ago (1 children)

I just at ~/projects it contains a boat load of stuff including my Neovim and bash stuff.

Guys, use GNU Stow + git for your configs shit's good.

load more comments (1 replies)
[–] Infrapink@thebrainbin.org 8 points 3 days ago

I rsync my 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.

load more comments
view more: next ›