114
submitted 1 day ago* (last edited 1 day ago) by underscores@lemmy.zip to c/linux@lemmy.ml

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
[-] moopet@sh.itjust.works 1 points 9 minutes ago* (last edited 9 minutes ago)

~/tmp

~/temp

~/temper

~/tempest

~/misc

/mnt/other (symlinked)

[-] Lettuceeatlettuce@lemmy.ml 2 points 2 hours ago* (last edited 2 hours 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)

[-] homura1650@lemmy.world 7 points 7 hours ago* (last edited 6 hours 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
[-] KaChilde@sh.itjust.works 14 points 10 hours ago* (last edited 10 hours ago)

~/Homework (porn)

~/aaaaaaa (porn)

~/Stuff (memes, with a porn subfolder)

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

[-] Holytimes@sh.itjust.works 2 points 5 hours ago

What about the ~/Porn folder?!

[-] xor 3 points 2 hours ago

That's for startup ideas

[-] Baguette 8 points 10 hours ago* (last edited 10 hours ago)

Archive

Archive archive

Archive_11_2025

I am not good at organizing

[-] VinesNFluff@pawb.social 3 points 8 hours ago* (last edited 8 hours 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)

[-] bitwolf@sh.itjust.works 5 points 10 hours ago* (last edited 10 hours ago)

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

[-] Apparatus@programming.dev 7 points 10 hours ago* (last edited 10 hours ago)

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

[-] bitwolf@sh.itjust.works 2 points 3 hours ago

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

[-] communism@lemmy.ml 2 points 9 hours ago

~/{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 ~/.config if it didn't get created.

[-] Evil_Shrubbery@thelemmy.club 12 points 16 hours ago

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

[-] Cyber@feddit.uk 4 points 11 hours ago
[-] Evil_Shrubbery@thelemmy.club 5 points 10 hours ago* (last edited 10 hours ago)

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

[-] cevn@lemmy.world 1 points 9 hours ago

projects, games, and programs are the non default folders in mine

[-] aesopjah@sh.itjust.works 9 points 16 hours ago

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

[-] selokichtli@lemmy.ml 1 points 10 hours ago

Apps (local executables, appimages, etc.), Projects (Work, hobbies), Sync (things I need everywhere), tmp (files I will probably delete sooner than later), and Data. Also Vaults and Boxes, only if I need them.

[-] NutWrench@lemmy.world 2 points 12 hours ago

~/Transfer

for SyncThing

[-] vortexal@lemmy.ml 1 points 10 hours ago

Outside of some folders I made specifically because an app required it, I have a "games" folder for most of my games and a ".lutriswine" folder to have Lutris use a different directory from Wine.

[-] olafurp@lemmy.world 5 points 16 hours ago

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.

[-] victorz@lemmy.world 2 points 8 hours ago* (last edited 8 hours ago)

Have you tried chezmoi?

[-] why0y@lemmy.ml 1 points 11 hours ago

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

[-] Ricaz@lemmy.dbzer0.com 23 points 1 day ago

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

[-] communism@lemmy.ml 4 points 9 hours 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.

[-] CrabAndBroom@lemmy.ml 8 points 17 hours ago

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

[-] TriangleSpecialist@lemmy.world 11 points 1 day ago

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 7 points 1 day ago* (last edited 1 day ago)

Dafuq are you doing in other people's homes?

Sysadmins are all creeps, confirmed

[-] TriangleSpecialist@lemmy.world 6 points 1 day ago* (last edited 23 hours ago)

Breaking pots. Don't mind me.

EDIT: holdup, who are you calling a sysadmin? I administer my system, sure, but that's about as far as I'm willing to go, thank you.

[-] victorz@lemmy.world 2 points 8 hours ago

Breaking pots.

TriangleSpecialist

Are those the Triforce triangles perhaps?

[-] TriangleSpecialist@lemmy.world 2 points 2 hours ago* (last edited 52 minutes ago)

It might be?...

Oops, I meant to say: "hayaaa"

[-] victorz@lemmy.world 2 points 32 minutes ago

🛡️🗡️

[-] Evil_Shrubbery@thelemmy.club 1 points 16 hours ago* (last edited 16 hours ago)

There are 15 year olds using Lemmy??

/s (my documents folder is the same, but older ... much a lot too many very older :|)

[-] Dave@lemmy.nz 26 points 1 day ago

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?

[-] Quibblekrust@thelemmy.club 4 points 16 hours ago

In a folder called javpy, of course!

[-] Starfighter@discuss.tchncs.de 3 points 21 hours ago* (last edited 21 hours ago)

Since projects of the same language often use the same tooling this makes it easier to clean up the whole directory by running something like this:

for d in ./*/ ; do (cd "$d" && somecommand); done

somecommand could be cargo clean if you're in the Rust directory for example.

load more comments (6 replies)
[-] QuarterSwede@lemmy.world 23 points 1 day ago

~/3D Objects

[-] treep@lemmy.world 5 points 23 hours ago* (last edited 23 hours ago)

~/diy for my collection of knitting, crochet and sewing patterns and other assorted diy stuff

~/work duh.

~/tools for my collection of more or less useful small scripts

~/sync for my syncthing folders

~/data symlink to my data partition (most of the others are also symlinks to their location on data)

I don't really have a convention for programming projects yet. They used to land inside of ~/diy or in ~/tools or just random folders on data. I've got a ~/code folder now, but its contents are a mess.

[-] VoxAliorum@lemmy.ml 5 points 23 hours ago

Always backup your tools folder... In the past I only created backups for my "real" code folder and I was quite upset when I lost my small scripts in the last drive death.

[-] mbirth@lemmy.ml 27 points 1 day ago

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.

load more comments (3 replies)
load more comments
view more: next ›
this post was submitted on 09 Dec 2025
114 points (100.0% liked)

Linux

60103 readers
658 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