Live data from Hacker News

Dotfile madness

0x46.net

321–330 of 534 posts

Re: Dotfile madness

#321
post #80
post #72

Earlier quoted context omitted.

Adding an interface to access the tag store won't be very hard. It would be harder to make it so that all the tag-oblivious programs, like mv or vi, to say nothing of rsync, would preserve the attributes when moving or modifying a file.

Sidecar files might work, and would also be filesystem-portable.

How do you sleep at night?

Re: Dotfile madness

#322
post #297

Earlier quoted context omitted.

I personally don't like xdg. I have bin files from pip and other stuff in ~/.local/bin. I have huge amounts of cache files in both .cache and .config. It's supposed to make my life easier by being able to backup .config and dump everything. but in reality this doesnt happen. Backing up .config for just the user defined configs is a massive PITA. you have to put so many gitignore exceptions and I'm not even talking ab…

Can you ln -s /tmp .cache. ?

You can try. I mount .cache as tmpfs. You need at least 500mb for your browser alone.

Browsers tend to work fine. Some apps just fail badly like rofi (command history stored there oof)

For what it's worth I also tmpfs+asd .nvm, .npm, and */node_modules, without any major headaches. I did have to fix a couple minor pathing dramas but nothing too drastic.

Re: Dotfile madness

#324

To me, the real problem is not the dotfiles, but the regular (i.e. non-hidden) files that applications surreptitiously create in my home folder. (Which the author does mention as being particularly bad.) dotfiles in the home folder are not a new thing on Linux (e.g. .bashrc, .profile, .emacs, etc.), even if it would be better if more applications used the XDG folders. And if I don't see them when I "ls", they don't b…

But nowadays, lots of applications seem to think it's OK to put normal files in my home folder without asking first. This is just outright barbarism.

If every desktop application that needed to store cross-invocation state asked for permission we'd probably say it was an invasion of bad-design huns.

Re: Dotfile madness

#325

Related pet peeve: macOs '.DS_Store' files. Can someone better-informed than me please explain how to prevent heir creation? Barring that, I'd settle for a justification.

You can use https://github.com/JK3Y/asepsis to have them all redirected to one folder. So not have them in every folder. That’s forked from the project originally being by TotalFinder’s creator as far as I know.

Re: Dotfile madness

#326

Earlier quoted context omitted.

This is particularly weird, since click (snap's "predecessor" at Canonical/Ubuntu) was fully XDG compliant, even encouraging developers to separate data from cache etc. (unlike flatpak which just dumps everything in ~/.local/share/[...], though that is still infinitely better than using ~/snap).

I personally don't like xdg. I have bin files from pip and other stuff in ~/.local/bin. I have huge amounts of cache files in both .cache and .config. It's supposed to make my life easier by being able to backup .config and dump everything. but in reality this doesnt happen. Backing up .config for just the user defined configs is a massive PITA. you have to put so many gitignore exceptions and I'm not even talking ab…

XDG does indeed seem like shite, calling for such nonsense as this:

"a default equal to $HOME/.local/share should be used."

NO. Nobody should be creating HIDDEN directories and files. That's just a lazy, sneaky way of trying to hide turds from the user. Either you're storing legitimate config files that should be visible to the user but kept in a tidy location, or you're littering his storage with turds that should, likewise, be kept elsewhere.

Apple's history of polluting every visited volume is a great example. Their excuse was storing file-browser state (for example, which directories were expanded) as invisible files all over the place, even on shared network drives. Of course, this design is a failure, because the next person to visit that volume will overwrite the turds. Not to mention the arrogance of polluting everyone ELSE's system, instead of just storing all this crap as URL/state on the local machine in one directory designated for that purpose.

Re: Dotfile madness

#327
post #7

Earlier quoted context omitted.

It's often worse on Windows, since dotfiles aren't hidden and meny dev tools assume they'll be running on *nix even when they support Windows. https://imgur.com/a/Im6G20B capture from my windows box of my $HOME.

At least "My documents" is separate (as a subfolder) from %HOME isn't it? (I never used MacOS, but from the article it seems not the case for MacOS?)

It's just ~/Documents, which I symlink to ~/Desktop so that if any asshole developer dumps a file into it I'll be able to see it and remove it immediatelty.

Re: Dotfile madness

#328
post #232

To me, the real problem is not the dotfiles, but the regular (i.e. non-hidden) files that applications surreptitiously create in my home folder. (Which the author does mention as being particularly bad.) dotfiles in the home folder are not a new thing on Linux (e.g. .bashrc, .profile, .emacs, etc.), even if it would be better if more applications used the XDG folders. And if I don't see them when I "ls", they don't b…

This strongly reminds me of installing software on Windows, where most games and programs would use My Documents as a dumping ground.

Windows actually has the same dotfile infestation problem these days. I mean, you still get stuff in Documents that shouldn't be there, but on top of that you get apps - often Unix ports - that believe that %USERPROFILE% (i.e. one folder above Documents) is the appropriate place for their configs and such (it's not - that should also go into AppData\Local or \Roaming as needed). And they usually use a dot-prefixed name, just because.

I just looked at my Win10 profile dir, and it has 36 dot-prefixed folders, and 7 more files on top level. Offenders include .gitconfig, .rustup, and .vscode, just to name a few.

Re: Dotfile madness

#329

Earlier quoted context omitted.

Also on macOS, where [~]/Library/ApplicationSupport is the designed and recommended place to store config files, logs, preferences and all kinds of persistent data, the home directory still gets cluttered. It's a laziness issue, it won't be solved solely by making is easier to access the right locations on each system/platform, but that would be a step in the right direction.

I have no idea how macOS organises its stuff. There's like 10 levels in my Library Folder, and some of them just repeat higher levels.

Those are containers (sandboxes)

Re: Dotfile madness

#330

Earlier quoted context omitted.

You can create another user and sudo / gksudo to it when working on sensitive data. It never occurred to me before reading your comment. I could start doing it myself.

su - also works. Indeed the capability exists (unix/linux pioneered it?), but it relies on manual containment by the user. It should be automated, with prompts at install or execution time, like on mobile OSs. An idea is each file should have its own user, basically, with both relative and absolute file creation/modification permissions. If you run an arbitrary executable as a user there's great security risk since i…

There are differences between the apps I use on my phone and the programs I use on my PC.

I don't trust many of the apps on my phone (all of Google, FB, messaging, etc). I trust the open source apps (example K9 email) and I'm replacing proprietary apps with open source ones.

I trust almost all programs I use on my PC, which I install with apt-get from Ubuntu or other open source PPAs (no snap, no flatpack). There are a few proprietary programs I might doubt of, for example NVidia driver, Skype, TeamViewer, Telegram. I understand that one is enough to compromise all the PC.

I'm ok with separating untrusted apps/programs but I don't want to get permissions in the way of programs I trust. Software development would be a nightmare if emacs and vim and all GNU userland and interpreters, compilers, etc would run in different environments.

Post reply on HN