Shameless plug: I am the author.

  • dinckel@lemmy.world
    link
    fedilink
    arrow-up
    119
    ·
    4 months ago

    Golang puts shit specifically in $HOME/go. Not even .go. Just plain go.

    Why is it so difficult to follow industry standards

        • Laser@feddit.org
          link
          fedilink
          arrow-up
          13
          ·
          4 months ago

          It makes it insofar better to me that you have the option to change it. You can’t change Mozilla programs to use anything but .mozilla (apart from modifying the source code of course) so for me seeing the folder is at least a way of telling me that the variable is unset.

          The better question is which folder is suited the best to store the stuff that goes into $GOPATH

          • fmstrat@lemmy.nowsci.com
            link
            fedilink
            English
            arrow-up
            7
            ·
            4 months ago

            Just because something is worse, doesn’t make the other thing good. A sane and standard default, as others have mentioned, is a small bar to meet.

      • dinckel@lemmy.world
        link
        fedilink
        arrow-up
        20
        ·
        4 months ago

        Of course, but that’s not the point. There should be a sane default, and there isn’t one

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      4 months ago

      Go pisses me off with that. I separate projects the way I want but go wants every project written in go in one big directory?

      • dinckel@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        I really didn’t like this either. It’s quite surprising, because the rest of Go tooling is quite nice. Not having a venv, or at least something like pnpm-style node_modules is weird

        • jollyrogue@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          Why would go have a virtual environment or dep tree like node_modules equivalent, it’s not interpreted or dynamically linked.

          With modules, dependencies can be vendored.

          • dinckel@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            Obviously it’s not, but you have to download all this shit somewhere before compilation. That’s the whole point

    • Eager Eagle@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      4 months ago

      off the shelf go was too annoying for me

      Nowadays I set GOENV_ROOT to an XDG location and use goenv instead.

      • WolfLink@sh.itjust.works
        link
        fedilink
        arrow-up
        15
        ·
        4 months ago

        What I want in $HOME are the following directories:

        If I’m on a GUI-based environment:

        • Desktop
        • Documents
        • Downloads

        In general:

        • .local
        • my_junk_folder_i_made

        I’d like everything else to live within something like ~/.local thanks

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

          Maybe Linux should have .local and .roaming folders like Windows. local = only useful on this system, roaming = good to sync across systems. Config would be in .roaming if it’s not machine-specific.

          • rotopenguin@infosec.pub
            link
            fedilink
            English
            arrow-up
            6
            ·
            4 months ago

            The only practical difference between Local and Roaming and LocalLow is that developers randomly pick one and dump your game saves in there.

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

              There’s some stuff in~/.config that’s specific to the computer. KDE is a good example - a lot of KDE apps mix config and state in the same file. There’s some solutions for syncing these files, like https://github.com/VorpalBlade/chezmoi_modify_manager which is an addon to Chezmoi that can exclude particular keys when storing an INI-style config file in Git.

              I’m sure there’s some config files in there that are entirely specific to the computer. Things like the Wayland per-monitor scaling settings are in there somewhere I think.

              There’s also things like data files that you may want to keep in sync across machines. They’re not really configs.

          • jollyrogue@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            There is a .local folder these days.

            Profile roaming hasn’t been solved aside from NFS mounts. I guess Syncthing might work.

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

              I know .local exists - My comment was more about .roaming which would be nice to exist, but doesn’t currently exist.

              Profile roaming hasn’t been solved aside from NFS mounts. I guess Syncthing might work.

              I’m using Chezmoi to sync some dotfiles, scripts, etc. to a Git repo and that seems to work well enough for me. I’m not syncing much yet, though.