• bitsplease@lemmy.ml
      link
      fedilink
      arrow-up
      15
      ·
      8 months ago

      I would fucking love it if I could put all my configs there, but unfortunately every other CLI tool seems to feel it needs a spot in the home dir instead…

      • 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. :)