They may not want their configuration stored in $HOME, for example:
they’re on a machine that isn’t under their physical control and ~/.config is mounted over the network from their personal machine;
That sounds like it's a bad way to handle configuration, since among many other problems, it won't work with the many programs that do have dotfiles in home directory, but even if that happened, you could just symlink it.
they prefer to version control their configuration files using git, with a configuration directory managed over different branches;
I do that. I symlink that config into a git-controlled directory. If OP plans to put his entire ~/.config in git, he is doing things wrong, because some of that needs to be machine-local.
the user simply wants to have a clean and consistent $HOME directory and filesystem
If whatever program you are using to view your home directory cannot hide those files, it is broken, as it does not work with a whole lot of existing software.
less secure,
If your home directory is "not secure", you're probably in trouble already.
Like, there are reasons you may not want to put dotfiles in a homedir, but none of the arguments in the article are them.
EDIT: I will ask developers to stop dumping directories and files that don't start with a dot in people's home directories, though. I gave up over twenty years ago and put my actual stuff under ~/m just to keep it from being polluted with all the other things that dump non-dotfiles/-dotdirs in a home directory. Looking at my current system, I have:
A number of directories containing video game saves and configuration. I am pretty sure that these are mostly bad Windows ports or possibly Windows programs under WINE that just dump stuff into a user's home directory there (not even good on Windows). Some are Windows Steam games.
WINE apparently has decided that it's a good idea to default to sticking the Windows home directory and all of its directories in there.
Apparently some webcam software that I used at one point.
Yeah, I think I tried it and it didn't do something I wanted and so used a homebrew script for the same thing, but it or a similar package or script is definitely what I'd recommend.
That should work with dotfiles in .config, in the home directory, any other config you want to be portable across machines, etc.
I just keep all my actual stuff in a separate /stuff partition, so my home folder is only config files. Then I use NixOS home-manager and Impermanence to manage the dotfiles.
Somehow I've never considered using git for version controlling/version synchronizing anything other than exclusively code… Brb gonna git all my files.
That sounds like it's a bad way to handle configuration, since among many other problems, it won't work with the many programs that do have dotfiles in home directory, but even if that happened, you could just symlink it.
I do that. I symlink that config into a git-controlled directory. If OP plans to put his entire ~/.config in git, he is doing things wrong, because some of that needs to be machine-local.
If whatever program you are using to view your home directory cannot hide those files, it is broken, as it does not work with a whole lot of existing software.
If your home directory is "not secure", you're probably in trouble already.
Like, there are reasons you may not want to put dotfiles in a homedir, but none of the arguments in the article are them.
EDIT: I will ask developers to stop dumping directories and files that don't start with a dot in people's home directories, though. I gave up over twenty years ago and put my actual stuff under ~/m just to keep it from being polluted with all the other things that dump non-dotfiles/-dotdirs in a home directory. Looking at my current system, I have:
A number of directories containing video game saves and configuration. I am pretty sure that these are mostly bad Windows ports or possibly Windows programs under WINE that just dump stuff into a user's home directory there (not even good on Windows). Some are Windows Steam games.
WINE apparently has decided that it's a good idea to default to sticking the Windows home directory and all of its directories in there.
Apparently some webcam software that I used at one point.
A few logfiles
I agree with most of your points, but I still think putting configs in the xdg dir instead of putting tons of dotfiles in $HOME is good practice.
I find dotfiles to be that stuff that I want to edit easily, and xdg stuff to be that stuff that I don't edit frequently (manually at least)
I agree with most of your points. Just wanted to add that I use Git + GNU Stow to manage this exact situation and it works flawlessly.
Yeah, I think I tried it and it didn't do something I wanted and so used a homebrew script for the same thing, but it or a similar package or script is definitely what I'd recommend.
That should work with dotfiles in .config, in the home directory, any other config you want to be portable across machines, etc.
I just keep all my actual stuff in a separate /stuff partition, so my home folder is only config files. Then I use NixOS home-manager and Impermanence to manage the dotfiles.
Somehow I've never considered using git for version controlling/version synchronizing anything other than exclusively code… Brb gonna git all my files.