nixers
Dotfiles, a big mistake - Printable Version
+- nixers (https://nixers.net)
+-- Forum: Operating Systems & Administration (https://nixers.net/Forum-Operating-Systems-Administration)
+--- Forum: Old school stuff (https://nixers.net/Forum-Old-school-stuff)
+--- Thread: Dotfiles, a big mistake (/Thread-Dotfiles-a-big-mistake)


Dotfiles, a big mistake - jkl - 09-07-2020

Rob Pike, 2013 (archived copy):

Quote: I’m pretty sure the concept of a hidden file was an unintended consequence. It was certainly a mistake.

I tend to agree. It makes no sense to have user configuration files which are hidden by default. I guess that all developers on nixers could learn from it. I certainly will.


RE: Dotfiles, a big mistake - venam - 09-07-2020

I also agree with the author.
$HOME/cfg or $HOME/lib already have equivalents as .config or .local (by default) so why not put all the dot files there like the freedesktop recommends and use $XDG_CONFIG_HOME as "cfg" so that it's not a hidden file.

Moreover, we also see a lot of people, including myself, that uses symbolinc links with those dot files, pointing to a directory where they are all there, centrally managing the important ones. It's redundant at this point, but how are we going to change hundred of thousands of applications writing dot files to the home directory, the harm is already done.


RE: Dotfiles, a big mistake - jkl - 09-07-2020

There is some probability that the applications you use today will be replaced at some point.

Both .config and .local are hidden directories as well, for no good reason at all. Replacing dot files with dot directories does not solve the problem of having perfectly legal applications trying to hide stuff from you. Using $HOME/cfg (or something) as your $XDG_CONFIG_HOME would indeed solve it - with a bonus advantage of seeing which applications use hard-coded configuration paths (and could be filed an issue about that).


RE: Dotfiles, a big mistake - acg - 09-07-2020

Even so there are projects that simply won't implement XDG standards, like `tmux` where it has been discussed multiple times and the only change has been adding a hardcoded check to `~/.config/tmux/tmux.conf` instead of using $XDG_CONFIG_HOME .
https://github.com/tmux/tmux/commit/15d7e564ddab575dd3ac803989cc99ac13b57198


RE: Dotfiles, a big mistake - venam - 09-07-2020

(09-07-2020, 11:57 AM)acg Wrote: Even so there are projects that simply won't implement XDG standards, like `tmux` where it has been discussed multiple times

It's not even limited to small projects, it applies to big ones too. Check Firefox, the issue has been opened 13 years ago. You would have expected this to have been implemented by now.


RE: Dotfiles, a big mistake - jkl - 09-07-2020

Mozilla has come a long way from being a hacker community to a large corporation that doesn’t care.


RE: Dotfiles, a big mistake - budRich - 10-07-2020

agree. dotfiles are stupid. I think it should be possible to set some kind of hidden flag, but it should ofc not be enabled on normal configuration files and very much not by prefixing the filename with a . .

I do something like this:
Code:
ln -s ~/.config ~/dot
ln -s ~/git/dots/i3/config ~/.config/i3/config

I usually have show hidden files turned off in my filemanager. I wish ~ would be /usr/bud , and i wish ~/etc (/usr/bud/etc) would merge with /etc and all configuration files and probably also example files and "extra" documentation could be stored in /etc . And to those who say "this can never be fixed". I know some old "master" branches and "blacklists" who disagree.


RE: Dotfiles, a big mistake - jkl - 12-07-2020

I had lost my Emacs dotfiles once because my previously used version control system does not add them by default and I noticed it too late. I should have done that much earlier.


RE: Dotfiles, a big mistake - z3bra - 14-07-2020

Quote: i wish ~/etc (/usr/bud/etc) would merge with /etc

It's possible already. Check out Union FS or OverlayFS. It is not as good as Plan9 bind mounts per namespace, but can be just as useful on a single-man machine (where your whole system is in fact, your namespace).