Clean up remaining dotfiles that don't comply with XDG_BASE_DIRS
Likely feasible
- [x]
~/.python_history- Need to write a python shell setup script as documented here
- [ ]
~/.esd_auth- Need to disable the
module-esound-protcol-unix.sopulseaudio module - This is set system-wide in
/etc/pulse/default.pa, and I'm not sure how to override module loads
- Need to disable the
- [x]
~/.mailcap- Only used by mutt currently, need to see if its location can realistically be changed
- [ ]
~/.mbsyncrc- Set by home-manager, should be easy to change
- [x]
~/.stumpish_history- Need to see if this can be changed
- [ ]
~/.Xresources~/.xprofile~/.xsession- All created and used by home-manager, though they are default paths, it should be possible to change
- [x]
~/.lyrics- Probably
ncmpcpp? Should be easy to fix.
- Probably
- [x]
~/.bash_history- Not sure what calls bash, but this should be easy
- [x]
~/.ipython
Less feasible
- [x]
~/.zcompdump- Fixed in #48
- Not actually fixed
- Fixed again in #76
- [ ]
~/.mozilla - [ ]
~/.pki- Also caused by Firefox. Seriously, I need a different browser. Maybe I will switch to chrome after all. Or maybe patch Firefox.
- [ ]
~/.stumpwm.d- Seems hard to change since it's defined both in a function which would need to be overridden, but isn't on time, and in a variable
- Go upstream with this one!
- [ ]
~/.java- I set
_JAVA_OPTIONS, not sure why this is created anyway. Seems it's a bug
- I set
- [ ]
~/.profile- Fairly standard generic "env variable" definition point, unlikely to be able to change this one
- [ ]
~/.nix*- Said to be obsolete as of 5 years ago, but flakes never happened, did they?
- See also the upstream issue
Hey I was doing the same thing, and I found this guide from Arch really useful.
https://wiki.archlinux.org/title/XDG_Base_Directory
And yes I want to remove .nix-* as well, thats well I bumped into your issue again.
Heh, thanks, I've already fixed all things that were recorded on that wiki page, what's left are things that were either inaccurate, tied to nixos or not listed there :)
There was an unofficial roadmap for nix that included some stabilization of nix flakes, which would likely make ditching ~/.nix* easier to achieve. Of course this is behind schedule already (as always with software), but there is at least a push to finally making flakes happen. Once they're a little further down the road I'll probably revisit that issue upstream.
There are also some projects floating around that create modules for nixos which enable all these environment variables; it's worth looking into them, though when I started this they weren't yet usable enough. It might be worth contributing to those projects instead nowadays.
Good:)
There are also some projects floating around that create modules for nixos which enable all these environment variables; it's worth looking into them, though when I started this they weren't yet usable enough. It might be worth contributing to those projects instead nowadays.
Can you name those? I don't want to do this by myself alone. It is tedious.
And I wonder if you have moved your ~/.Xresources into XDG CONFIG HOME? I have done that yesterday, ok with xrdb, but it is not picked up by many softwares I use (wezterm and brave). And I cannot find any environment variable for its path.
Don't know the projects off the top of my head, sorry. I've not moved my Xresources yet, but only xrdb should read it; if other applications do they're doing it wrong.
I have just created a flake here, feel free to add anything in!
https://github.com/winston0410/xdg.nix
I put it in my configuration.nix to disable .esd_auth:
hardware.pulseaudio.extraConfig = "unload-module module-esound-protocol-unix";
Something that's very annoying for me is the .serverauth.* file, but I don't know how to disable it.
About .pki you can just move it to ~/.local/share/pki and it will work out-of-the-box with Firefox, but Chrome is hardcoded and keeps creating it in ~/.pki
Nice to know, thanks!