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 ?

  • KaChilde@sh.itjust.works
    link
    fedilink
    arrow-up
    18
    ·
    edit-2
    10 days ago

    ~/Homework (porn)

    ~/aaaaaaa (porn)

    ~/Stuff (memes, with a porn subfolder)

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

      • Sims@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        6 days ago

        I could be wrong, but it seems he just mounted ‘/porn’ directly as ‘/’ ? Efficient, I guess.

        …actually, there seem to room for more improvements; I’m not sure there’s any need for an ‘operating system’ on the system - a small fap-app ™ could likely handle all content on the system ? Work documents could be injected in to the fap-stream © when he needs to stop ? That would release many gb for even more fap-ability © ?

  • mbirth 🇬🇧@lemmy.ml
    link
    fedilink
    arrow-up
    14
    ·
    11 days 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.

  • skankhunt42@lemmy.ca
    link
    fedilink
    arrow-up
    9
    ·
    11 days ago

    I have /home/username/username/ and I sym link important dirs (like Downloads) to my new home. I strongly dislike all the dot files and dirs cluttering up my home dir.

    • RiderExMachina@lemmy.ml
      link
      fedilink
      English
      arrow-up
      6
      ·
      11 days ago

      Are you aware of the ‘xdg-user-dirs-update’ command that allows you to edit the ~/.config/user-dirs.dirs config file?

        • pemptago@lemmy.ml
          link
          fedilink
          English
          arrow-up
          7
          ·
          11 days ago

          Not the commenter you replied to, but I change my XDG directory names to be lowercase and start with different letters. For example, Desktop, becomes “drop” (as in pick it up and put it somewhere else) and Downloads is a subdirectory dl. A program that would otherwise save to “Downloads” now saves to “~/drop/dl”. When I setup my machines I run a script including the line xdg-user-dirs-update --set DESKTOP "drop" to update the XDG directory and I delete “Desketop”. So og commenter has the option of updating their userdirs to be nested in their username if they wanted to avoid symlinking. Here’s the relevant arch wiki page and xdg freedesktop page.

        • RiderExMachina@lemmy.ml
          link
          fedilink
          English
          arrow-up
          4
          ·
          11 days ago

          Reading back, my comment sounds snarky, but I was genuinely trying to be helpful.

          Like what pemptago was describing, instead of symlinking your directories to /home/username/username, you could simply update that file and achieve the same effect, but in a more “official” way that may prove more robust.

        • Grey Cat@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          11 days ago

          It basically allows you to define which paths are used for the Downloads, Documents, Videos, etc… types of directories.

  • BCsven@lemmy.ca
    link
    fedilink
    arrow-up
    9
    ·
    11 days ago

    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.

    • hushable@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 days ago

      I have a ~/Sync folder with a symlink to all my Syncthing shares, which I have quite a lot of. Helps me find them quickly and reminds me that everything in there us pulled or pushed somewhere else.

      • BCsven@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        11 days ago

        If you want it that way, but then I’d have a mix of synced folder and regular folders inside Documents.

        I like to keep if completely separate, for backing up user documents via dejadup differently than the synced stuff.

  • homura1650@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    10 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
  • Pika@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 days ago

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

  • treep@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    11 days 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
      link
      fedilink
      arrow-up
      4
      ·
      11 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.

  • Caveman@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    11 days 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.