Notes
Run before using home/.gitignore:
$ git config --global core.excludesfile ~/.gitignore
The Z Shell configuration uses zplug
, which needs to be installed separately (it thereafter
updates itself). The .zshrc
will automate this the first time you run the terminal.
rbenv, nodenv, and their plugins must be installed manually:
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
ln -s "$SYSTEM_REPO/Dotfiles/config/nodenv/default-packages" ~/.nodenv/
( mkdir ~/.nodenv/plugins && cd ~/.nodenv/plugins && \
for PLUGIN in node-build node-build-update-defs nodenv-aliases \
nodenv-default-packages nodenv-each nodenv-package-rehash; do
git clone "https://github.com/nodenv/$PLUGIN.git"
done )
nodenv update-version-defs
nodenv install 10.8.0 # Or whatever,
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
ln -s "$SYSTEM_REPO/Dotfiles/config/rbenv/default-gems" ~/.rbenv/
( mkdir ~/.rbenv/plugins && cd ~/.rbenv/plugins && \
for PLUGIN in rkh/rbenv-update rbenv/ruby-build tpope/rbenv-aliases \
rkh/rbenv-whatis rbenv/rbenv-default-gems rbenv/rbenv-each; do
git clone "https://github.com/$PLUGIN.git"
done )
rbenv install 2.5.1 # Or whatever,
rbenv alias --auto
Unfortunately, opam isn't interested in fixing this.
Have to manually add a non-default path to a ‘default’ switch, if I want to be able to install
“global binaries” with opam (like ocamlformat
or patdiff
.)
(Note that the first of these values is pulled out of my ass — i.e. you'll have to opam switch create 'default'
first or something — but I've hard-coded the second into ~/.shenv
elsewhere in
this repo.)
ln -s /Users/ec/.opam/default/bin ~/.bin/opam-default-switch-alias
Some Vim plugins require extra setup:
-
Deoplete requires Python3 be installed and set up, that the appropriate Python package be installed, and that its update command be executed:
brew install python3 pip3 install --upgrade neovim nvim +UpdateRemotePlugins +q
-
CoffeeTags requires the
coffeetags
gem to be installed globally (bewarervm
!):brew gem install coffeetags
-
tern_for_vim
, supporting JavaScript in SuperTab/Deoplete, requires some setup:cd ~/.local/share/nvim/plugged/tern_for_vim npm i
-
color_coded requires compilation (and note that it will fail if the installed
vim
included luajit. I keep forgetting this fact somehow.):cd ~/.vim/bundle/color_coded (mkdir build; \ cd build && cmake .. && \ make && make install; \ make clean && make clean_clang)
-
Command-T requires compilation; and this must be done against the same version of Ruby that the current Vim is compiled against: (Check both MacVim and command-line
vim
!):ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
. Re-build both Vims with the same Ruby; and thenrvm
(or similar) to that Ruby to build Command-T. (More information is available in the docs.cd ~/.vim/bundle/command-t/ruby/command-t ruby extconf.rb make
-
sparkup
has to have its vim docs re-generated:cd ~/.vim/bundle/sparkup make vim-pathogen
-
IPython-notebook-extensions needs some config to be configured, and I haven't figured out how to abstract it out, so I just
.gitignore
'd it:cd ~/.jupyter/IPython-notebook-extensions ./install.py install
(This may need to be ‘fixed’ afterwards, restoring the symlinks in
~/.jupyter
. This should be enough:git checkout extensions nbextensions templates
, or similar.)
GnuPG (of effin' course) needs a lot of custom setup.
-
First off, Tor is configured in my configuration to requst keys over Tor. This means installing tor.
brew install tor brew services start tor
-
As described here, a special cronjob is necessary to regularly (and securely) request packages. The script is included in
Dotfiles/refresh-keys.sh
, and can be invoked automatically by LaunchD / cron:mkdir ~/Library/LaunchAgents cp Dotfiles/gnupg/io.ell.gpg-refresh-keys.plist ~/Library/LaunchAgents/ launchctl load ~/Library/LaunchAgents/io.ell.gpg-refresh-keys.plist
-
...
VScode keeps its config in a MacOS location, not the Linux/XDG location.
ln -s "$HOME/.config/Code/User/settings.json" \
~/Library/Application\ Support/Code/User/settings.json
The Terminal preferences (hotkeys etc) require Karabiner and Seil be installed, and that the fonts
from the Extras/
directory also be installed. After all of those are installed, the
configurations can be symlinked from my Dropbox:
ln -s '~/Documents/Dropbox/Library/karabiner.private.xml' '/Users/ec/Library/Application Support/Karabiner/'
ln -s '~/Documents/Dropbox/Library/com.apple.Terminal.plist' '~/Library/Preferences/'
ln -s '~/Documents/Dropbox/Library/GlobalPreferences.plist' \
'~/Library/Preferences/.GlobalPreferences.plist'
(May require existing files be removed, or directories be created, first.)
Windows still needs some work, but here's some hints:
- Hyper.is works with PowerShell
- VSCodeVim is less work than actual vim, probably. Less of my configuration, though.
New-Item -Path C:\Users\ec\.tridactylrc -ItemType SymbolicLink -Value C:\Users\ec\Documents\GitHub\System\Dotfiles\config\tridactyl\tridactylrc