After years of using zsh with a cargo-culted configuration, I gave up on it and switched to the Friendly Interactive Shell, aka fish. It has a simplified scripting language, has sane defaults, and straightforward auto-complete features. There's not much to see in the config file, because fish doesn't believe in configurability.
I'm using fisher to manage "plugins".
I used to use the git command line a lot. Then I discovered Magit, then was mostly satisfied with the built-in tools in VSCode, and now I'm using those (when using VSCode), LazyGit or Fork. There's still a lot of aliases in there, here are the ones I still use:
amend
:commit --amend
after an accidentalcommit -amend
and instead of--amend
that took an hour to undo, I started this list.fold
:merge --no-ff
takes some branches and merges them in, keeping their full branch and commit history.goto <refspec>
:reset --hard <refspec>
hard resets to the given refspecundo
:reset --soft HEAD^
Revert a commit, but leave its contents as staged.
I haven't cleaned it up because I'm lazy.
I'm currently using Zed as my main text editor, and am managing its keymap and settings in the config file here. I have yet to find a reliable way to sync installed extensions & themes for Zed via source control.
For some work I'm still using VSCode, and am mostly having success in storing its settings in git in this repo, despite their attempts to force you to sync settings via their service. The settings & keybindings files are in settings/vscode and manually symlinked to their typical home on the mac in ~/Library/Application Support
.
I sync extensions via bin/codex which stores state in a file in configs/.config/vscode/extensions. This mostly works, as long as I keep it up-to-date.
I don't use VSCode Settings Sync for a number of reasons, but the primary one is that I will not under any circumstances sign into personal accounts on machines I do not own. Throughout my career and the lifetime of this repository I have worked on about a dozen machines I do not own, and I can still sync and manage updates to this repository from those machines via per-employer/client accounts here through git. I could not do that through VSCode Settings Sync.
-
on mac:
bash -c "$(curl -fsSL https://github.com/mattly/dotfiles/blob/master/install/mac_bootstrap)"
This gets you homebrew, a pub key to put on GitHub, git, this repository cloned, the config files symlinked, .emacs.d, and fish as the default shell.
From there,
brew bundle
the desired files ininstall/