• lysdexic@programming.dev
    ·
    1 year ago

    This article seems to be well-meaning but contrasts with the de-facto standard way of storing dotfiles. The Linux Filesystem Hierarchy Standard is quite unambiguous in how it specifies that the purpose of $HOME is to store dotfiles.

    https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s08.html

    FHS also specifies that applications can store their dotfiles in subdirectories, and this is leveraged by other standards like the Freedesktop's xdg-user-dirs spec to default to ~/.config

    https://www.freedesktop.org/wiki/Software/xdg-user-dirs/

    I'm not sure what's the point of arguing against the standard way of storing dotfiles while basing the remarks on no standard or reference.

    • jeremyparker@programming.dev
      ·
      1 year ago

      You're right that that's extremely unambiguous, but I still don't love the idea that users don't get to decide what's in $HOME, like, maybe we could call it "$STORAGE_FOR_RANDOM_BULLSHIT" instead?

      If anything in computing conventions implies "user space" it's a global variable named HOME. And it makes sense that there should be a $STORAGE_FOR_RANDOM_BULLSHIT location too - but maybe not the same place? Then users could symlink the dotfiles they personally find relevant.

      I know you're not Linus, but, I just had to express that.

      • lysdexic@programming.dev
        ·
        1 year ago

        You’re right that that’s extremely unambiguous, but I still don’t love the idea that users don’t get to decide what’s in $HOME, like, maybe we could call it “$STORAGE_FOR_RANDOM_BULLSHIT” instead?

        That's basically what $HOME is is used for in UNIX: a place for applications to store user-specific files, including user data and user files.

        https://www.linfo.org/home_directory.html

        If anything in computing conventions implies “user space” it’s a global variable named HOME. And it makes sense that there should be a $STORAGE_FOR_RANDOM_BULLSHIT location too - but maybe not the same place?

        UNIX, and afterwards Unix-like OSes, were designed as multi-user operating systems that supported individual user accounts. Each user needs to store it's data, and there's a convenient place to store it: it's $HOME directory. That's how things have been designed and have been working for close to half a century.

        Some newer specs such as Freedesktop's directory specification build upon the UNIX standard and Unix-like tradition, but the truth of the matter is that there aren't that many reasons to break away from this practice.