I’m looking to restructure my home folder. Have for a long time used the standard XDG user directory structure ($HOME/{Desktop,Documents,Downloads...}) and it has become a mess. Also the capitalized directory names are inconvenient for a multitude of reasons.

I’ll have to set the XDG user variables accordingly.

Anyone gone through a process of reorganizing their home directory structure beyond the standard XDG user directory structure. Did you note any oddities refraining from mentioned standards?

Here’s my initial idea:

$HOME
├── desktop
├── documents
│   ├── public
│   └── templates
├── downloads
├── media
│   ├── audio
│   │   ├── bleeps
│   │   └── music
│   ├── e-books
│   ├── graphics
│   │   ├── 3d
│   │   ├── raster
│   │   │   ├── palettes
│   │   │   └── wallpapers
│   │   ├── screenshots
│   │   └── vector
│   ├── photos
│   └── videos
├── sites
└── software
    ├── bin
    ├── games
    │   └── roms
    └── git
  • cheer
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    4 years ago

    I changed my user-dirs.dirs file to this:

    XDG_DESKTOP_DIR="$HOME/desktop"
    XDG_DOWNLOAD_DIR="$HOME/dl"
    XDG_TEMPLATES_DIR="$HOME/docs/xdg-templates"
    XDG_PUBLICSHARE_DIR="$HOME/"
    XDG_DOCUMENTS_DIR="$HOME/docs"
    XDG_MUSIC_DIR="$HOME/media/music"
    XDG_PICTURES_DIR="$HOME/media/pics"
    XDG_VIDEOS_DIR="$HOME/media/vids"
    

    If only every application supported base directories instead of putting a .{name} file in the home dir.

    • Kohen Shaw
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      4 years ago

      .{name} is best case scenario as far as I’m concerned. Plenty of apps will default to $HOME/{name}.

      That kind of crap should be marked as malware or something

      • cheer
        link
        fedilink
        arrow-up
        4
        ·
        4 years ago

        Honestly. If it doesn’t support even an env variable to change it’s folder, I usually just uninstall it

  • Anachron
    link
    fedilink
    arrow-up
    4
    ·
    4 years ago

    You can see my setup here: https://blog.cron.world/article_03.html#media-and-folders

    Basically I have ~/app, ~/bin and alike and symlink everything (like ~/.appname) to ~/app/dat/appname. This works pretty well since 99% of the apps don’t care if its a symlink or real folder. Sadly, there are a few apps that break, I use mounts as a workaround for them (but I’m still looking for alternatives).

    • linkertOP
      link
      fedilink
      arrow-up
      2
      ·
      4 years ago

      Very nice writeup on your setup! Thanks for sharing, I’ll dive deeper into it tonight.

      • Anachron
        link
        fedilink
        arrow-up
        1
        ·
        4 years ago

        Thanks! I always planned to do a more in-depth post about it but time is passing by so fast.

  • C​​​
    link
    fedilink
    arrow-up
    4
    ·
    4 years ago

    I named my downloads folder dl. The rest of my home directory is quite messy.

    • linkertOP
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      4 years ago

      It’s not a bad idea to do that. Something that urks my lazyness is when I go cd Do [tab] and fish promptly gives me the option to chose either Documents or Downloads.

      Maybe in my case where I’d rather not mix abbreviations I’ll remap my muscle memory from Downloads to fetched or something like that in order to avoid the do in downloads and documents.

  • kevincox
    link
    fedilink
    arrow-up
    3
    ·
    4 years ago

    I basically don’t like apps messing in my folders anyways so I don’t worry about it too much. I leave the defaults but the only XDG defined folder I really use is Downloads but I basically use that folder for any temporary data.

    Other than that I will symlink the configs of certain apps that I care about (git, zsh, vim, …) into a good place for me and I keep most of my work in ~/p which is basically a directory of git repos.

    So basically I find the XDG stuff mostly useless so I keep the stuff I care about out of those folders.

    (Although I do wish more apps respected XDG_CONFIG_DIR rather than dumping crap into my home directory. )

  • ghost_laptop
    link
    fedilink
    arrow-up
    3
    ·
    4 years ago

    I really like the default structure, the 0nly thing that bothers me is that now that I have a second HDD I can’t share that structure between the tw0 discs, so now I am unsure on how to use my second HDD. I think I’ll use the sec0nd for films that I don’t care ab0ut keeping after seeding.

    The 0nly thing I can say about your structure is that I w0uldn’t use it because I need a Picture folder, because I download a lot of them and they aren’t photos.