Skip to content
This repository has been archived by the owner on Sep 24, 2024. It is now read-only.
/ dotfiles Public archive

when you work on multiple machines, you'll git them too

Notifications You must be signed in to change notification settings

mattly/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

These are my dotfiles

fish

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".

gitconfig

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 accidental commit -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 refspec
  • undo: reset --soft HEAD^ Revert a commit, but leave its contents as staged.

I haven't cleaned it up because I'm lazy.

Editors

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.

Install

  • 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 in install/

About

when you work on multiple machines, you'll git them too

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published