Really Good Dotfiles
I’ve always struggled to maintain clean, useful dotfiles for myself. Somehow, they work amazingly one day, and then I have to do a clean install, and everything is broken.
I finally sat down with Claude and fixed (almost) all the mess.
Here’s what I came up with. My prompts were roughly: “I want feature x, here are the docs on it, please implement,” and I’d link to a raw markdown doc.
Favourite Features
FZF Lots of Things
Ctrl-R gives me a fuzzy finder for history. This is out-of-the-box fzf functionality, but I never took the time to set it up.
Ctrl+T to find files and `Alt+C to change to the selected directory.
fco gives me fzf fuzzy finding to check out a branch.
Zoxide for cd
I’ve used zoxide before, but Claude suggested aliasing cd to z. So much nicer! I find the z key difficult to hit, especially when switching between regular keyboards and an ortholinear one. cd is just muscle memory.
Starship with the current weather
Location 16°C Overcast ↑7km/h
in dotfiles on main
❯ |
This is overkill. But neat. I have a launchd task that updates a weather cache every 30 minutes. Starship reads from that file. If the file is stale, it triggers the launchd task, causing the following new prompt to display the updated weather.
I used wttr to fetch the weather for my current location.
install.sh
Previously, my installation script would overwrite any existing dotfiles. Now it can make backups, start, stop, and continue at different places. It can also execute only specific installation steps. This way, I don’t need to install all the brew packages to get a recent update from one machine onto another.
Conclusion
Take a look at my dotfiles if you’d like. Updating your dotfiles is a great way to learn to work with an agent. Generally, Claude was proficient at making individual updates, but sometimes struggled to connect the parts. We worked together to debug the issues and find a configuration that worked nicely for me.