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.

    • teawrecks@sopuli.xyz
      link
      fedilink
      arrow-up
      12
      ·
      1 year ago

      ~/.config is the non-root version of /etc these days. But you just have to know that, which isn’t ideal.

      • Jummit@lemmy.one
        link
        fedilink
        arrow-up
        8
        ·
        edit-2
        1 year ago

        If you are a developer, please take a look at the XDG Base Directory Specification and try to follow it, users will be very grateful.

        Short summary: Look for $XDG_CONFIG_HOME for configs and $XDG_STATE_HOME for state. If they aren’t available, use the defaults (./config and .local/share).

        • teawrecks@sopuli.xyz
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          1 year ago

          ~/.local is the non-root version of /usr. By .appname do you just mean a folder that a specific app made in your home for itself? Yeah, I never condone that. imo that’s just a badly behaving app. It should move that folder into ~/.config.

          • itchychips
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Is all of that defined in a standard somewhere?

            I usually just use $HOME/bin and $HOME/opt for all my local user’s program needs, but would be interested if there is an actual defined standard for this.

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Configuration for root is in /root/, that is, root’s home directory. /etc is for system configuration, different thing.

    • Atemu
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Certainly not. Nothing should write to /usr/bin except for the package manager in FHS distros and some distros binary directories aren’t writable at all.

      • WildfireFailure@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I agree. Usually I’m referring to a user installed local application. So if the executable is in your home directory likely it’s in the same directory as the exe.

        • Atemu
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Even then you shouldn’t be writing where the executable is. I don’t want spurious files where my scripts etc. are.

          Just use XDG dirs.