Don't Fuck with My .bashrc

charles_f1 pts0 comments

Don't Fuck With My .bashrc

2026-Jun-9<br>| Code | Terminal | Shit Post | Language

Everyone, to the terminal! Drop that webUI, you’re so 2024, use the terminal brah! I’m a geek! I hack stuff, I use the terminal!

Terminals have been around for quite a while, some say without proof even before windows and the internet were a thing. On Unix-based systems in particular, please try to follow conventions1, as the environment is full of pedantic trolls with too much time on their hands, like yours truly.

Don’t fuck with my .bashrc

I have a bunch of dotfiles, they’re on my git, I share them across my computers. Some of the configuration is common to all my computers. Some of it is specific to each of them. For that purpose, I have a .bashrc, and a bunch of .bashrc-$HOSTNAME. When .bashrc is sourced, it checks if .bashrc-$HOSTNAME exists, and loads it if so. That way I don’t get all the crapware from work on my personal machines.

I’ve been doing that for decades now. I have a clean set. It’s cool, but it takes effort. So when I saw that shit transpire onto my personal computer, where I don’t have Claude, it made me angry:

# BEGIN claude-cli MANAGED BLOCK<br>if [[ ":${PATH}:" != *":/Users/charlesfeval/.claude-cli/CurrentVersion:"* ]]; then<br>export PATH="/Users/charlesfeval/.claude-cli/CurrentVersion:${PATH}"<br>fi<br># END claude-cli MANAGED BLOCK

If you want to update my .bashrc that’s cool, plenty of tools do that, I guess as a nice gesture to avoid having me add configuration. I prefer you ask me first, but that’s ok if you don’t. I can just copy over whatever you added to wherever it needs to be, and be done with it.

What’s NOT OK is to claim a portion of my .bashrc as yours. What do you mean “claude-cli MANAGED BLOCK”? It’s my .bashrc, don’t “manage” it, don’t fuck with it. I get that you want to auto-update and all, find a way where you don’t need to touch my .bashrc repeatedly.

Don’t fuck with my .profile

Same thing.

Don’t fuck with my .bash_profile

Dude.

While we’re at it, stop littering my root folder

Stop littering my root folder. This is gross and disrespectful. There are some trash cans and recycling for that.

Config goes into ~/.config (or $XDG_CONFIG_HOME if it exists. I’m a simple man, default suits me well)

Data goes into ~/.local/share (or $XDG_DATA_HOME)

State goes in ~/.local/state ($XDG_STATE_HOME)

Binaries go into ~/.local/bin.

Cache goes into ~/.cache

I’m not making up that stuff, it’s a standard defined in there, it’s been out for well over 20y, you’d be quite cool to even try to apply this kind of conventions. Surely you can do better than Claude:

$ ls -a ~ | grep claude<br>.claude<br>.claude-cli<br>.claude-jm<br>.claude-jm.json<br>.claude.json<br>.claude.json.backup.1781025021465<br>.claude.json.backup.1781025021486<br>.claude.json.backup.1781025026367<br>.claude.json.backup.1781025026395<br>.claude.json.backup.1781025026827

If you put in a dotfolder or a dotfile directly in my ~/ folder:

I’ll likely miss them when doing my dotfile save, because it’s lost in the rest of the garbage others insist on littering my $HOME with.

It’s making my $HOME dirty, and I don’t like it dirty.

You’ll lose my respect23.

notes

Until you decide keyboard is too hard and fuck back off to an electron-based 2Gb app. ↩

Unless, of course, you are a shell, or your thing existed prior to the invention of that standard, in 2003. ↩

Unless, of course, I didn’t have any respect for you in the first place ↩

Related

claude bashrc fuck json backup terminal

Related Articles