I’ve just been getting up and running with a minimal distro lately and also discovered user-dirs.dirs, so I’m no longer bound by the standard auto-generated Home folders.

Looking to share and learn how other comrades organise their home directories. Any tips appreciated, and also just seeing how other people like to use and organise ~/ :-)

Here’s how I’ve organised ~/ on my new install so far:

* audio/
    * audiobooks/
    * music/
    * podcasts/
* books/
* documents/
* dotfiles/
* downloads/
* images/
    * photos/
    * screenshots/
    * wallpaper/
* opt/
* planner/
* projects/
* scripts/
* videos/
* workspace/

… plus all the hidden cruft that’s placed in home by various programs. I do my best to enforce the XDG_CONFIG_HOME standard but I’m still in the process of moving stuff into .config/.

Most of these are self-explanatory. opt/ is for software I build from source or otherwise not available in my package manager. planner/ is a git repo full of plain text and markdown files used to manage productivity and take notes. projects/ is my personal git repos containing stuff like my blog, creative writing etc. scripts/ is part of my $PATH and contains executable helper scripts such as setting a random wallpaper, fetching mail, etc. It’s also a git repo. workspace/ is actually the XDG_DESKTOP_DIR but renamed. My window manager doesn’t put files/folders on the actual desktop so I use this space for repos I contribute to for my job as well as transient tasks which require a folder structure for getting something done but which will likely be removed later. Basically stuff that’s not an actual personal “project” and I’m working on at the moment.

Things I’m thinking about:

  • alternative names for downloads/. There are three folders which start do meaning tab-complete only works on the third letter. Not ideal. I’ve seen some people use incoming/ but I keep flip-flopping on whether I like this or not.
  • Possibly renaming dotfiles/ to .dotfiles/ but then, I use it a fair amount at the moment.
  • adding an articles folder for academic articles and HTML blog posts I want to keep locally.
  • @mrshll1001OP
    link
    English
    11 year ago

    user-dirs.dirs is a file that lives in $HOME/.config/user-dirs.dirs and contains your user-defined values for the XDG user directories standard. The Arch Wiki Page is a good summary. Basically common directories such as Desktop, Documents, Music etc.

    If you’ve got xdg-user-dirs-update on your system, it’s run on login and creates the directories specified if they don’t exist. Programs can then read this config file to do things such as placing downloaded files in your user-specified equivalent of Downloads. Another use case is file managers drawing special icons for Documents, Music etc.

    Here’s my file, related to my folder structure above:

    XDG_DESKTOP_DIR="$HOME/workspace"
    XDG_DOCUMENTS_DIR="$HOME/documents"
    XDG_DOWNLOAD_DIR="$HOME/downloads"
    XDG_MUSIC_DIR="$HOME/audio"
    XDG_PICTURES_DIR="$HOME/images"
    XDG_PUBLICSHARE_DIR="$HOME/"
    XDG_TEMPLATES_DIR="$HOME/"
    XDG_VIDEOS_DIR="$HOME/videos"
    

    I don’t need the Templates and Public directories, so I just map these directly to $HOME to prevent them being auto-created. There may be a better or cleaner way, but I found that even if I omitted the line or commented them out the default Templates and Public directories would get created.

    • Jonny
      link
      fedilink
      English
      21 year ago

      Nice, thanks for the explanation🙂✌️

      • @mrshll1001OP
        link
        English
        11 year ago

        You’re welcome, comrade! :-)