137
submitted 1 week ago* (last edited 1 week 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 ?

(page 3) 37 comments
sorted by: hot top controversial new old
[-] Renohren@lemmy.today 2 points 1 week ago* (last edited 1 week 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.

[-] beerclue@lemmy.world 2 points 1 week ago

I have ~/work/code/project-name-1, ~/work/code/project-name-2 or ~/priv/code/project-name-3, but not by language... I only separate work and private repositories.

[-] kutsyk_alexander@lemmy.world 1 points 1 week ago

I have a test folder where I clone various git repisitories, compile programs from source or test some small scripts.

[-] obscure0602@lemmy.world 1 points 1 week ago
[-] frosty@pawb.social 1 points 1 week ago* (last edited 1 week ago)

I have repos for things I’ve cloned from codeberg or other repositories.

There’s also Nextcloud for files I’ve synced from there.

[-] owsei@programming.dev 1 points 1 week ago* (last edited 1 week 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

[-] taaz@lemmy.world 1 points 1 week ago

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

[-] DonutsRMeh@lemmy.world 1 points 1 week ago

I have one for my git repos that I clone and keep building from source. One for various projects. One for scripts…. And so on

[-] bjoern_tantau@swg-empire.de 1 points 1 week ago

I usually make ~/Packages for various binary packages that I can't add as repos for whatever reason. And ~/Packages/src for stuff I compile myself.

And ~/Games for games.

[-] wuphysics87@lemmy.ml 1 points 1 week ago
[-] lilith267@lemmy.blahaj.zone 1 points 1 week ago

Defaults are good for me but I like mounting my secondary drive to ~/Storage with subfolders media, projects, games

[-] mesamunefire@piefed.social 1 points 1 week ago* (last edited 1 week ago)

Usually git or development.

[-] Auth@lemmy.world 1 points 1 week 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.

[-] Theoriginalthon@lemmy.world 1 points 1 week 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

[-] oscardejarjayes@hexbear.net 1 points 1 week ago* (last edited 1 week ago)

A projects folder, usually. All the other folders at the root of $HOME are created by some application or another (XDG folder creator, applications that don't respect XDG).

I make a YouTube subfolder to be downloaded YouTube videos in, and subfolders for podcasts, but those aren't at the root of $HOME.

[-] sem@piefed.blahaj.zone 1 points 1 week 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.

[-] selokichtli@lemmy.ml 1 points 1 week 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.

[-] chaoticnumber@lemmy.dbzer0.com 1 points 1 week ago

A gits dir and a dir called "wd". Short for working dir.

Its a dumpfest of scripts, tomls, yamls, directories galore. The gits dir is where I keep my cmdb, that one is organized. wd is like a playground where I allow myself not to give a shit

[-] Chewt@beehaw.org 1 points 1 week ago* (last edited 1 week 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

[-] why0y@lemmy.ml 1 points 1 week 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

[-] vortexal@lemmy.ml 1 points 1 week 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.

[-] cevn@lemmy.world 1 points 1 week ago

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

[-] stupid_asshole69@hexbear.net 1 points 1 week ago

You gotta have your ~/ashdkeuh/

[-] Sxan@piefed.zip -1 points 1 week 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.

load more comments
view more: ‹ prev next ›
this post was submitted on 09 Dec 2025
137 points (97.9% liked)

Linux

57274 readers
692 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