this post was submitted on 28 Sep 2023
86 points (100.0% liked)

Programming

423 readers
7 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
top 15 comments
sorted by: hot top controversial new old
[–] lysdexic@programming.dev 10 points 1 year ago (1 children)

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 5 points 1 year ago (1 children)

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

[–] dgriffith@aussie.zone 6 points 1 year ago (2 children)

Article summary:

Linux: Do this.

Apple: Do this.

Windows: Conspicuously absent.

Config state is an absolute shitshow on windows. Is this application's config in $APPDATA/local? Roaming? The registry? Under HKEY_LOCAL_MACHINE? USERS? In its own folder in Program Files, oh Program Files(x86)? Maybe it's just in a folder in $USER.

Gives me the shits.

Article is good though, just wanted to vent.

[–] jcg@halubilo.social 3 points 1 year ago* (last edited 1 year ago)

Shit like this just contributes to this overall messy feeling I have on Windows. For many reasons I can't get off the OS completely, but man every time I use Linux (for servers/my personal laptop/etc.) it just feels so clean in comparison.

Feels Good

[–] Abnorc@lemm.ee 2 points 1 year ago (1 children)

I don’t even remember the difference between LocalLow, Local, and Roaming anymore. I looked it up some time back, but it didn’t exactly help me find what I was looking for.

[–] dgriffith@aussie.zone 2 points 1 year ago* (last edited 1 year ago)

All I know is that the stuff in roaming generally follows you around on domain logins. So if you're bouncing around on corporate computers with the same standard set of apps installed, if they save their stuff in roaming they can retrieve it anywhere you log in.

Which can be a blessing and a curse because once roaming fills up with all sorts of crap your logins on new computers take forever as the network has to transfer X gigabytes of stuff in roaming to that PC.

[–] ck_@discuss.tchncs.de 4 points 1 year ago (2 children)

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

[–] jeremyparker@programming.dev 4 points 1 year ago

Will things fail to function if they can't make their $HOME/.dumbfiles?

[–] xnasero@programming.dev 1 points 1 year ago (1 children)

Terrible advice, do this in a VM as a lab but not on your main computer.

[–] ck_@discuss.tchncs.de 2 points 1 year ago (1 children)

I did not frame it as "advice" though, did I? :)

[–] Abnorc@lemm.ee 2 points 1 year ago

Clearly it’s not an adventure for the faint of heart.

[–] resin85@lemmy.ca 3 points 1 year ago (2 children)

Somewhat related, at least on Linux and OSX, GNU Stow is a great way to manage dotfiles.

[–] lyda@programming.dev 1 points 1 year ago

I use vcsh to manage my home directory - including but not limited to dot files. Written a number of posts on it over the years: https://phrye.com/tags/vcsh/