NHacker Next
- new
- past
- show
- ask
- show
- jobs
- submit
login
self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("2:I[\"aadde9aaef29\",[],\"default\",1]\n3:I[\"6e873226e03b\",[],\"Children\",1]\n5:I[\"bc2946a341c8\",[],\"LayoutSegmentProvider\",1]\n6:I[\"6e873226e03b\",[],\"Slot\",1]\n7:I[\"3506b3d116f7\",[],\"ErrorBoundary\",1]\n8:I[\"a9bbde40cf2d\",[],\"default\",1]\n9:I[\"3506b3d116f7\",[],\"NotFoundBoundary\",1]\na:\"$Sreact.suspense\"\n:HL[\"/assets/index-BLEkI_5r.css\",\"style\"]\n") class="_meta_ka9gd_33">32 points by jacobwiseberg 4 days ago | 31 comments
Rendered at 08:15:39 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
[0] https://github.com/saysjonathan/dwm.tmux
but why not awk then?
0: https://ia800708.us.archive.org/25/items/pdfy-MgN0H1joIoDVoI...
With very few exceptions I just stick with the defaults and it works for me.
I also had other workmates who did everything in some exotic shell, so of course none of their one-liners worked in bash.
It keeps my machines uniform enough without too much hassle.
The app ‘Conductor’ does this, and I had to uninstall it; I just can’t crack my ‘ls ~/.co<TAB>’ habit, and “nd” is juuuuuust ahead of “nf”.
It *used to* be ‘~/c<TAB>’ before .claude crapped itself into existence..
I also suggest you try xdg-ninja, which automatically scans your home directory and shows which of those directories you can change to a different location:
https://github.com/b3nj5m1n/xdg-ninja
I have a big shell config file that sets proper locations for all sort of programs I use:
https://github.com/flexagoon/dotfiles/blob/main/dot_config/f...
On my Mac, there are 94 items in my home directory. 10 of them are expected, coming from either the user template or from single user installations of applications.
Two of the additions are not hidden: go and quicklisp. I don't actually mind this. Hidden folders are stupid if I am expected to be navigating into them either in the GUI or in the CLI. Slightly annoying since there's a perfectly good Library folder they could have dumped themselves in instead but whatever. At least I can see them without unhiding hidden files.
The rest? The other EIGHTY FUCKING TWO items in "my home"?? Hidden dot file BULLSHIT.
11 for Zsh related bullshit. Eleven! Are you fucking serious?
.wget-hsts? What the fuck is even that? Fuck off!
What absolute slop! What an incredibly stupid and shitty way to create caches and configurations. Braindead. I feel like im taking crazy pills. I'm gobsmacked that every time I look into "can I move this dogshit" I find a GitHub issue where the devs seem taken aback and confused "why would you want to do that". Eat shit! What do you mean the plaintext json files we put your config into and never built a GUI for should go into a folder you can see and navigate too easily? Whaaaat?? What do you mean "$XDG_CONFIG" exists? Hmmm no, checking for that would take 5 lines of code so no. Also, assholes, macOS doesn't canonically use goddamn XDG environment variables. Just because it uses a terminal you recognize doesn't mean it's fucking Linux! Take your .config and .cache and .local shite out of here.
And I've tried to fight it, but eventually you give up. It's a losing battle against tasteless patterns and asshole, careless developers. 150 something versions of Firefox and only recently could you move .mozilla. OpenSSH will never not pollute your home directory, they said so!
My desktop is now my home directory. It's mine. My terminal starts up there. Folders of stuff I actually give a fuck about go there. My browsers download into ~/Desktop/Downloads. I'm done fighting. My home was trashed. Crimes occurred. So I moved.
God I fucking hate dotfiles.
EDIT: Oh yeah, my favorite part is that on macOS, the Desktop folder is protected by TCC, so I can easily tell if some background app or something is trying to access it and deny it right then and there. It's a far safer place to keep things like AWS keys and secrets and my SSH keys, but NNoOOoOoOOoO that goes in my home folder that has nothing but POSIX file system level permissions. But don't worry, it's hidden by default! No one will know its there! At least the AWS cli lets you point somewhere else but that comes with a bunch of extra friction.
Apps require full disk access to read my Safari cookie jar database, but they can grab my SSH keys without any issue. Great system we got here! .stupid .bozo .bullshit
The only place I've encountered where they are visible by default and do get in the way is bash filename completion, and you can change this via the readline config file:
if only people knew about, read (and followed) xdg... aka freedesktop.org
None of that shit should live in .local. I have a "local" already, it's called ~/Library. There's a Caches folder in there. Also a Preferences folder.
At the very least why make local a dot-folder? Why add the extra keystroke? Local? Local to what?! Of course it's "local" it's my fucking home folder, everything in it is "local" to me. It's redundant. It just further supports that the convention is stupid.
Even when I'm on my Linux computers, where it is at least a half-assed convention, I still hate this crap. The XDG directories and hierarchy are bad and dumb. None of them should be "dot" anything. Hiding clutter under a dot is like hiding clutter in your house under a rug. It's not organization, you just have a big mess you don't have to look at but you have to step around all the time. NeXT solved this shit 30+ years ago and they cleaned it up 25 years ago. You put it in a box (~/Library) with a clean label of a proper noun (Preferences, Caches, Keychains, Extensions, etc) that identifies it, stow it somewhere out of the way but accessible, so you can find it when you need it but otherwise not have to look at it. 84 little dot folders could all be swept out of sight by moving them into the Library, one single folder in my home, but instead, they just sit under a big dot rug in the middle of it.
Apple does commit one sin here and that is hiding the user Library folder by default, but that is part of making computers work for mere mortals as dumb users will go and delete their Library folder to save space and break shit, but that uses a proper file system flag not this crappy convention from half a century ago that breaks sorting.
All that said, I do agree that at the very least Linux apps should be following $XDG_CONFIG and only if unset, pollute the home folder. It's a fucking if-then-else. No excuse. I shouldn't be seeing shit like ".arduinoIDE" or ".claude" Claude should be able to add this feature on its own anyways.
XDG has nothing to do with X11. XDG stands for "Cross-Desktop Group," and is designed specifically for any Unix or Unix-like operating system, which includes macOS.
you can point them to %APPDATA%..., ~/Library or the Linux defaults.
my point in this is: there are free and open conventions and we wouldn't need this "my HOME is cluttered" fuss, if technical teams would embrace them.
so why don't they respect XDG_ env vars for their config and data?
First: you can template stuff easily. Like having config that have different parameters (say a display name to display stuff on) between devices.
Second: You can do "the everything else" of the machine setup, not just configs but also installed apps and various quirks and tweaks.
I think it can also do rudimentary app management via storing a lockfile, but I haven’t tried that out.
0: https://chezmoi.io/
If anything, it's the reason this is such a common issue, the dot lets everyone shit files out all over the place but oh it's hidden so no big deal.
... but of course some apps must be super special flowers that need their own dir