I've been working around this using tools built on top of git like [yadm](https://github.com/TheLocehiliosan/yadm) and relying on `ls-files` to list all my tracked dotfiles and their paths.
Still having everything in one place would make things much simpler. Great idea!
When the OS is set to 'dark' mode the code snippets on this page are impossible to read (white on white) and the scroll bars are visually broken too. Just a heads up
It annoys system administrators to no end to see applications writing their files essentially randomly all over the system.
Apps should use the roaming profile for user settings, the local app data folder for per-user cached data, the program data folder for system-wide data, etc...
I don't think its surprising at all that a document entitled "Dotfiles Matter" about not dumping Unix-style dotfile configuration files into a user's home directory doesn't mention an operating system that doesn't use Unix-style configuration dotfiles.
The Windows itself may not use dotfiles (although VS Code does IIRC), but lots of stuff lazily ported to Windows, including Git for Windows, do place random dotfiles straight into %USERPROFILE%, which they arguably shouldn't.
For anyone else confused by the comments vs content, this post is about managing your application’s dotfiles, not a personal dotfile management system.
Whatever you do, use the xdg_base_dirs python package for Unix dotfile location management… not platformdirs.
They refuse to honor (even optionally!) xdg environment variables on macs, which is a pita when managing dotfiles across Mac/linux systems, not to mention the “official” macOS way of managing things is just annoying to deal with when you are typing things in the terminal.
15 comments
[ 4.5 ms ] story [ 284 ms ] threadStill having everything in one place would make things much simpler. Great idea!
The current (Vista and later) API for obtaining the special folder locations is documented here: https://learn.microsoft.com/en-us/windows/win32/shell/known-...
There is also a .NET API for this: https://learn.microsoft.com/en-us/dotnet/api/system.environm...
It annoys system administrators to no end to see applications writing their files essentially randomly all over the system.
Apps should use the roaming profile for user settings, the local app data folder for per-user cached data, the program data folder for system-wide data, etc...
https://www.atlassian.com/git/tutorials/dotfiles
They refuse to honor (even optionally!) xdg environment variables on macs, which is a pita when managing dotfiles across Mac/linux systems, not to mention the “official” macOS way of managing things is just annoying to deal with when you are typing things in the terminal.
Who is xdg and why it's polluting my home dir ?
Why not use system defaults and only if and when a user changes something, create a hidden config file ?