• lysdexic@programming.dev
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    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
      link
      fedilink
      arrow-up
      9
      ·
      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
        link
        fedilink
        English
        arrow-up
        9
        ·
        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.

    • Spott@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      This isn’t an argument against the standard way of doing things, it is an argument to follow the xdg standard, and use xdg environment variables, rather than creating a new unconfigurable directory in $HOME.

  • ck_@discuss.tchncs.de
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    If anyone feels adventurous, give this little experiment a try:

    • Create the top level hierarchy of folders in your $HOME
    • remove write permissions for everyone from $HOME

    That way, programs won’t be able to clutter your $HOME anymore and it’ll be easy to find any culprits