AKA "dotfiles"
This repo is designed to be checked out to $XDG_CONFIG_HOME
.
See XDG Base Directory Specification for more.
I try to follow XDG conventions, but this is a mac-centric config.
The following are used for managing dependencies and installation.
The install task will attempt to bootstrap these things if they are missing.
- Homebrew for most things
- Sheldon for zsh things
- Fisher for fish shell things
- Neovim for vim things
- Kitty for term things
The default $XDG_CONFIG_HOME
dir is ~/.config
,
and that is where we will install.
Note that
$XDG_CONFIG_HOME
does not have not to be set yet. Installation will attempt to configure it for you, which will require admin credentials.
If you have no config dir yet:
mkdir ~/.config
cd ~/.config
git clone [email protected]:lettertwo/config.git .
make install
If you have stuff in ~/.config
already:
cd ~/.config
git init
git remote add origin [email protected]:lettertwo/config.git
git fetch
git reset origin/main
git checkout -t origin/main
make install
An update will do the following:
- pull the latest from lettertwo/config
- update Homebrew and installed dependencies
- update Sheldon and installed dependencies
- update Fisher and installed dependencies
- update Neovim and installed dependencies
- update Kitty
cd ~/.config
make update
The git/config
will try to include a git/user
config file.
I do it this way to avoid having to modify the git/config
file
with any settings that aren't shareable.
You can add your own user and other settings to git/user
like this:
touch ~/.config/git/user
git config --file ~/.config/git/user user.name "Your Name Here"
git config --file ~/.config/git/user user.email "[email protected]"
git config --file ~/.config/git/user credential.helper osxkeychain