• Free Palestine 🇵🇸@sh.itjust.works
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    8 months ago

    It’s used to store configuration files for various applications so they don’t clutter up your home directory. For example, you can put your Emacs config files in ~/.config/emacs instead of ~/.emacs.d. Not every program supports it though.

    • nul9o9@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      8 months ago

      Every project should at least move the default config location to the ./config folder. Even better if they create their own subdirectory in there.

      • DreamButt@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        8 months ago

        Every tool I build checks three places:

        1. An env variable (if it exists) which should point to a dir of the users choosing
        2. ~/.config/tool-name/
        3. ~/.tool-name

        Which imo is how every modern application should work

        • dan@upvote.au
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 months ago

          For number 2, is it hard-coded to ~/.config or does it read XDG_CONFIG_HOME? The latter is what it should do, so that the user has the flexibility to move all their configs elsewhere.

          • DreamButt@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            8 months ago

            It’s from $HOME so you would want to use the first option

            But it’s GTK that var is used by some people

            • dan@upvote.au
              link
              fedilink
              arrow-up
              2
              ·
              8 months ago

              Please follow XDG specs and use $XDG_CONFIG_HOME instead of $HOME/.config. $HOME/.config could be a fallback if $XDG_CONFIG_HOME isn’t set. :)