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

Linux

60166 readers
830 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 ?

(page 2) 50 comments
sorted by: hot top controversial new old
[–] SolarPunker@slrpnk.net 9 points 4 days ago
[–] BCsven@lemmy.ca 10 points 4 days ago (3 children)

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.

load more comments (3 replies)
[–] treep@lemmy.world 6 points 4 days ago* (last edited 4 days ago) (1 children)

~/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 6 points 4 days 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.

[–] Strit@lemmy.linuxuserspace.show 7 points 4 days ago* (last edited 4 days ago)

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.

[–] MyNameIsRichard@lemmy.ml 6 points 4 days ago* (last edited 4 days ago)

~/Projects - for my coding projects

~/Qt - which holds the Qt framework

~/Torrents - For torrents that I share

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

[–] TropicalDingdong@lemmy.world 8 points 4 days ago

I just live out of my downloads folder until its time to back up the important stuff to the server and reinstall/ distrohop.

[–] IsoKiero@sopuli.xyz 6 points 4 days ago (1 children)

~/autoclean and a cron job to delete everything older than 7+ days from there. I can just download whatever, throw it in a special folder and it's gone after few days. Keeps my ~/Downloads a bit more clean, easy to store temp txt files to keep track of what I currently have on hand and so on.

load more comments (1 replies)
[–] InFerNo@lemmy.ml 5 points 4 days ago (1 children)

Projects for all kinds of projects

aur_builds for the package I use from the AUR. No hand holding here, I build and install my AUR packages artisanally.

load more comments (1 replies)
[–] monovergent@lemmy.ml 7 points 4 days ago* (last edited 4 days ago)

~/.drafts, in which my text editor taskbar shortcut script creates files YYMMDD_text_N. I passionately believe in eliminating the chore of manually naming my spur-of-the-moment notes and text files.

~/progs or ~/bin where loose programs not provided by my package manager reside.

If there's a secondary drive, /media/disk1 as the mount point in fstab.

[–] morto@piefed.social 7 points 4 days ago

I always make a bin folder in my home for putting my custom scripts and downloaded binaries. At least on fedora, ~/bin is already in the path, so I don't have to make any additional configuration to make stuff in there become commands for my cli

[–] Pika@sh.itjust.works 6 points 4 days ago (4 children)

I always make a ~/.local/{bin,opt,share} if the distro lacks it. and a ~/bot that I use for my development stuff

load more comments (4 replies)
[–] stupid_asshole69@hexbear.net 4 points 4 days ago

Especially for systems remotely managed by ssh:

~/Desktop/stuff/mystuff/junk/funny/

[–] justlemmyin@lemmy.world 5 points 4 days ago (1 children)
[–] bjoern_tantau@swg-empire.de 5 points 4 days ago (1 children)
load more comments (1 replies)
[–] wwwgem@lemmy.ml 6 points 4 days ago (1 children)

Your organization will vary with your usage. If you're looking for something suitable for work, I would highly recommend the PARA approach. https://fortelabs.com/blog/para/

I've tweaked it to my needs. Combined with fzf, it makes my workflow so smooth and efficient. https://www-gem.codeberg.page/sys_stay_organized/

[–] thejml@sh.itjust.works 6 points 4 days ago* (last edited 4 days ago) (1 children)

I want to follow this, and I sorta do... but ADHD makes the P,A and other A basically the same category. And the R is just "stuff I put down to look at but haven't yet".

load more comments (1 replies)
[–] communism@lemmy.ml 2 points 3 days 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.

[–] NutWrench@lemmy.world 2 points 3 days ago

~/Transfer

for SyncThing

[–] turbowafflz@lemmy.world 5 points 4 days ago

I usually make src, junk, and applications for appimages and unpackaged binaries

[–] hexagonwin@lemmy.sdf.org 3 points 4 days ago

i have a 'src' directory. tho my home directory is extremely messy, ls | wc -l gives me 170 now..

[–] mko@discuss.tchncs.de 3 points 4 days ago

For source code or any project - a folder Projects (on my personal setups) or Documents/Projects/PersonalRepo (more customer specific folders under the Projects sub-folder)

  • Anything under ~/Projects that isn’t just a throwaway will be a git repo.
  • Anything under ~/Documents/Project/*Repo will be a git repo.
[–] utopiah@lemmy.ml 3 points 4 days ago* (last edited 4 days ago)
  • ~/Prototypes for ... my prototypes, typically either starting from an empty directory or cloning a repository and adapting it for my needs. I have this directory on nearly all my devices, desktop of course but also NAS, server, phone, standalone XR headset, etc.
  • ~/Apps in addition to ~/bin, typically binaries but all AppImages
[–] Cysioland@lemmygrad.ml 3 points 4 days ago

~/Git for all git clones

[–] tyler@programming.dev 3 points 4 days ago

~/dev

~/dev/oss

~/dev/work

~/dev/personal

load more comments
view more: ‹ prev next ›