I wholeheartedly agree with this blog post. I believe someone on here yesterday was asking about config file locations and setting them manually. This is in the same vein. I can’t tell you how many times a command line method for discovering the location of a config file would have saved me 30 minutes of googling.

    • exu@feditown.com
      link
      fedilink
      arrow-up
      6
      ·
      2 years ago

      The exceptions should only apply for cases where XDG is not available. In any other case, the appropriate XDG directoy configured by the user should be used first.

    • dan@upvote.au
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      For user-specific config files, aren’t they all supposed to be in ~/.config these days? I’ve never heard of software using ~/etc.

      • TheAnymouseProphet@mastodon.social
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        @dan
        If you do

        ./configure --prefix=“$HOME” \
        && make && make test && make install

        then you typically get ~/etc for the config files (and binaries in ~/bin)

        ~/.config is not part of any posix or Un*x standard I know of.

        Some desktop environments do use it, but not because of any standard I am aware of.

        • dan@upvote.au
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          ~/.config is not part of any posix or Un*x standard I know of.

          I wasn’t sure if it’s a standard or not, but a bunch of stuff store config files there. At least on one of my command-line-only systems, I see configs for htop, NuGet, ookla speedtest, PowerShell, rclone, and borgbackup in there, as well as an empty procps directory. Apparently it’s part of the XDG standard, but it seems like a decent number of non-desktop apps use it too.