18 ms·
I completely agree! That's why I created this site: https://xdgbasedirectoryspecification.com https://xdgbasedirectoryspecification.com. We need some place wher
by hyperupcall 4y ago
I completely agree! That's why I created this site: https://xdgbasedirectoryspecification.com https://xdgbasedirectoryspecification.com. We need some place where people can immediately understand the practical benefit, and the minimum ask of their users.
Of course, it doesn't help just to complain about the issue in a void, so I've also submitted like 10 PRs and filed quite a few issues. Projects like pnpm and Poetry took note, and now they comply!
Someone's gotta clean up house, and I don't mind doing the dirty work.
- inktype 4y agoThe idea for your site is great. A quick suggestion: if you want everyone to immediately understand and sympathize with your cause, then use the tools that everyone knows in your examples. Using some long exa incantation risks alienating people that don't care about things like the latest trendy grep alternative. Just use: `ls -d .*` or `ls -a`
- hyperupcall 4y agoThanks for the suggestion - agreed, I'll make that change
- alwillis 4y agoUsing some long exa incantation risks alienating people that don't care about things like the latest trendy grep alternative Exa is the latest, trendy ls alternative. I don’t think you should remove the Exa example but you certainly should show how to use ls to do something similar for those people still living in the dark ages—ls was created in the 1970s and it hasn’t kept up with the times all that well [1]. I created an ‘ll’ alias for Exa using the Fish shell; obviously you make shell-appropriate aliases in Bash or Z shell: function ll exa --color always --long --no-user --no-permissions --all --icons $argv end [1]: https://the.exa.website/introduction https://the.exa.website/introduction
- inktype 4y agoI appreciate that you are trying to be helpful, but you might be over-evangelizing trendy things at the risk of appearing patronizing; exa is a thing like the latest trendy grep alternative, and the point of my original comment still stands. No need to have a rosetta stone of alternatives to demonstrate an illustrative example where the basic tool that everybody already knows and understands at a glance works. I'm not saying that exa, or fish, or ripgrep, or any other trendy tool is bad.
- yjftsjthsd-h 4y agoWhy does the "fixed" example still list .profile? Why wouldn't the shell config live with everything else?
- hyperupcall 4y agoMainly because it's easier to get people on board when we're keeping a few of the super core dotfiles, especially since those are kind of impossible to change - they are hard coded literally everywhere Admittedly, the ~/.bashrc etc. files should be there too - but I wanted it to look cleaner :P
- alwillis 4y agoThe following programs are for Linux only (The XDG Base Dir Spec isn't inherently followed for MacOS and Windows) You should fix this. While macOS and its system applications and bundled applications don't adhere to the XDG Base Directory Specification; many programs that run on macOS do. In fact, almost all of the programs you list run on macOS and (by definition) use the XDG Base Directory Specification. So I would clean that up to not give an incomplete statement. BTW, the macOS directory structure [1] has been documented since macOS (MacOS X back in the day) shipped in 2001. [1]: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html https://developer.apple.com/library/archive/documentation/Fi...
- hyperupcall 4y agoHmm, that's why I said inherent? Because as you mentioned there is a separate macOS directory structure and the system utilities don't follow the specification. Also, the specification is only written for Linux in mind, which is why I said "not inherent for macOS. Is there an exact phrasing you would prefer?
- alwillis 4y agoThe short explanation is native GUI apps that use the macOS frameworks use the classic macOS directory structure. The classic Unix utilities and apps typically use $HOME on macOS, while their modern, often Rust-based replacements—WezTerm, Exa, fd, broot, Fish, etc.—use XDG. Vim uses ~/.vimrc while Neovim uses XDG.
- hyperupcall 4y agoI asked for an exact phrasing, not for an explanation, because I have already written exactly that under the "Should I do this on macOS?" heading...
- gaganyaan 4y agoAm I missing something, or should the Python example use "config_dir[0] != '/'"? I.e. if it's empty, or if the first character is not a forward slash, then use the default?
- hyperupcall 4y agono I think you're right, that was a typo
- deleted 4y ago[deleted]