Shameless plug: I am the author.

  • dinckel
    link
    fedilink
    9110 months ago

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

    Why is it so difficult to follow industry standards

    • @atzanteol@sh.itjust.works
      link
      fedilink
      English
      8
      edit-2
      10 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
        link
        fedilink
        210 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
          110 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
            link
            fedilink
            110 months ago

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

    • Eager Eagle
      link
      fedilink
      English
      510 months ago

      off the shelf go was too annoying for me

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

  • @Wispy2891@lemmy.world
    link
    fedilink
    35
    edit-2
    10 months ago

    100% agree and I also despise devs who do this on windows, instead of using %appdata% they’re using c:\users\username\.myappisimportantandtotallydeservesthisdir

    • @xan1242@lemmy.dbzer0.com
      link
      fedilink
      210 months ago

      Not to mention - this isn’t necessarily the correct place for Windows anyway. That is exactly why they standardized stuff around Vista.

      Plus - what about apps that store an ungodly amount data in there? Personally, I only keep the OS and basic app data (such as configs and cache) on the partition and nothing else.

      Then something like Minecraft comes along and it’s like “humpty dumpty I’m crapping a lumpty” and stores all its data in “.minecraft” right there in your user directory.

      Then you gotta symlink stuff around and it becomes a mess…

    • Tlaloc_Temporal
      link
      fedilink
      110 months ago

      To be fair here, appdata is technically a hidden folder and there are lots of reasons an app would want it’s data accessable by the user.

      • @Wispy2891@lemmy.world
        link
        fedilink
        710 months ago

        Yes but then just spam the documents folder like anyone else, don’t hoard the home root for no reason except that is a lazy cross platform port

  • @MonkderDritte@feddit.de
    link
    fedilink
    18
    edit-2
    10 months ago

    Where did i read this… basically, the .file being hidden being a bug in the early unix filesystem, which got misused to hide configuration files.

    Offenders despite XDG-variables set and with no workaround:

    • .android: hardcoded in adb and i guess something in mtp too
    • .pki: some tool/library Firefox and Chromium sometimes use.
    • .steam: yes, that

    Btw, https://wiki.archlinux.org/title/XDG_Base_Directory

  • dohpaz42
    link
    fedilink
    English
    1410 months ago

    Here is a more concise way to achieve the same thing:

    ls -ACd ~/.??*/ | sed -e "s#$HOME/##g"
    
    • @Samueru@lemmy.ml
      link
      fedilink
      210 months ago

      ls -A | grep "^\."

      I had to make a dummy .dotfile to test because I don’t have hidden files in my home.

    • @dizzy@lemmy.ml
      link
      fedilink
      310 months ago

      Whoa I’m a stickler for getting as much as I can out but even I have .zshenv and some other too hard to figure out things in there. How’d you manage a total wipeout?

      • @Samueru@lemmy.ml
        link
        fedilink
        3
        edit-2
        10 months ago

        zsh is actually easy and it is detailed in the archwiki

        You have to set $ZDOTDIR in /etc/zsh/zshenv and iirc that was the only location that required root to edit.

        For the rest of stuff, here is how I fix steam for example and you can check the rest of my dotfiles for how I configured zsh and all of that.

        Although I haven’t updated them, I still had a .local directory back then, it was 1 week ago that I changed .local for Local and that let to an issue with distrobox which I made a PR fixing it that’s still open though.

      • @Samueru@lemmy.ml
        link
        fedilink
        110 months ago

        It’s empty lol, it’s a directory on tmpfs that i use to build programs and similar stuff to not be hammering my ssd with unnecessary writes.

        I have $XDG_CACHE_HOME in tmp as well and I moved the mesa sharer caches to $XDG_STATE_HOME as that’s really the only thing so far I’ve needed to preserve.

        • @tabular@lemmy.world
          link
          fedilink
          English
          1
          edit-2
          10 months ago

          tmpfs (…) to build programs (…) to not be hammering my ssd with unnecessary writes

          Sounds useful. How did you setup the directory?

          Running df tells me “tmpfs” is mounted on /run. If I build in that that directory then would it be stored in RAM, or do I need to do something else?

          • @Samueru@lemmy.ml
            link
            fedilink
            310 months ago

            I have /tmp in my fstab with these mount options.

            tmpfs /tmp tmpfs rw,noatime,size=20G 0 0

            And the rest of the setup is done in my zprofile

  • Mactan
    link
    fedilink
    910 months ago

    there’s no place like 127.0.0.1

    there’s no place like XDG_CONFIG_HOME.

  • wvstolzing
    link
    fedilink
    410 months ago

    vim now has an option to put the .vim folder in ~/.config; though I’m not sure if the default plugin/package & syntax folders can be set under ~/.local/share.

  • The Doctor
    link
    fedilink
    English
    210 months ago

    BRB, putting in a PR to make /etc mode 1777 by default.

  • @sfera@beehaw.org
    link
    fedilink
    110 months ago

    Are there abstractions available around the XDG specifications to resolve the proper paths?

    • @MonkderDritte@feddit.de
      link
      fedilink
      5
      edit-2
      10 months ago

      What language? Python has PyXDG.

      In shell it’s simply

      XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME"/.local/share}"
      XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME"/.config}"
      etc.
      
  • davel [he/him]
    link
    fedilink
    English
    -610 months ago

    This would just further complicate things for me. It assumes that 1) the system even has a windowing system/desktop environment or 2) all the installed software is XDG-aware. Most of the time I’m fiddling with headless environments.

    • Eager Eagle
      link
      fedilink
      English
      10
      edit-2
      10 months ago

      The spec doesn’t make those assumptions at all, idk where that’s coming from.

      I have headless machines with XDG vars configured and ones without them. XDG compliant software works in either case, but I’m less likely to use a piece of software that clutters my $HOME.