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.
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
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.
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.
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.
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.
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.
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
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.