kleinjm / dotfiles

The configuration files for my personal development environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mac

Setup

  • Make sure you're on the latest Mac OS
  • Clone the private environment_configurations repo in the same parent directory as this dotfiles repo
  • Run mac/make.sh
  • This repo assumes the home dir is jklein. If it's not, symlink it with the following
    cd /Users
    sudo ln -s james jklein
  • Show hidden files in Finder with defaults write com.apple.Finder AppleShowAllFiles true && killall Finder

Installing Fonts

  • Open the font file and install it to the Mac Font Book
    • open mac/config/Fura\ Mono\ Regular\ Nerd\ Font\ Complete\ Mono\ Windows\ Compatible.otf
  • In iTerm, set the font to that font for the current profile. Profiles > Text > Font
  • Restart vim and you should see devicons

Syncing Mac Settings

  • To save local settings to the repo mac/scripts/backup_settings.sh
  • To apply repo settings to the local mac mac/scripts/restore_settings.sh (part of make script)

Sequel Pro

  • Dark query scheme found in mac_config/sequel-pro-master

Additional environment configurations

  • Chrome theme - Dark Theme v3
  • See $PRIVATE_CONFIGS_DIR/README.txt

Userscripts

Stored in bookmarks on my googlde chrome account.

NVM

I set the system ~/.nvmrc -> dotfiles/nvmrc and have that fetching node which is the latest node version. Any project without a .nvmrc will use the latest since it will traverse up the dirs to find my root one

TMUX

Default config taken from oh-my-tmux

Alfred

  • Settings are stored in the private env config path in Google Drive.
  • This should already be stored in settings but if not, use this script to get Alfred <> iTerm2 integration

VIM

  • Followed this guide to set up ctags using git hooks
  • Use vim-projections to define alternate files as explained here. Each project has a .projections.json defined and globally git ignored.
  • Install pythonx dependencies with the following. Note that vim-pyenv takes care of using the pyenv, not system version of python.
pip install -r vim/pythonx/requirements.txt

Music & iTunes

  • Music is synced to my personal server space using /mac/scripts/upload_music. This only uploads the file difference and deletes any deleted songs. My server plan comes with 100GB of space.
  • For Alfred iTunes miniplayer: In iTunes go to Preferences > Advanced > Share iTunes Library XML with other applications

SSH

To set up ssh and rsync without asking for a password. See this guide NOTE: the same id_rsa.pub is shared so this should not be necessary

ssh-copy-id -i ~/.ssh/id_rsa.pub jamesmkl@jamesmklein.com
  • See $LOCAL_CONFIG (vim leader + lcl) for additional configurations

Neovim

I'm not using neovim currently but to get it set up I used the following

brew install neovim
created ~/.config/nvm/init.vim

# run :checkhealth

# https://github.com/zchee/deoplete-jedi/wiki/Setting-up-Python-for-Neovim
sudo pip2 install --user neovim
sudo pip3 install --user neovim

gem install neovim

Brew

Run brew bundle dump --force to update the Brewfile

Quiver

  • Quiver settings are stored in the root dir with default file name Quiver-settings.json

Troubleshooting

  • If you're getting a message about __init_nvm not being defined, nvm likely added something to the .zshrc. Check the bottom of the file.

Linux

Setup

  • Run linux/scripts/dependencies.sh

Shortkeys

  • linux/shortkeys.json contains the shortcuts for the Shortkeys chrome extension

Apt-get

  • Packages and sources are backed up as part of the dependency scripts

Apple Magic Mouse

Albert

  • Albert and CopyQ will get installed as part of dependencies. The linux restore settings script will provide the custom keyboard shortcut to open the paste buffer.
  • The only thing you need to do is make sure the python scripts, specifically copyq, is enabled in alfred preferences. Settings -> Extensions -> Python -> CopyQ

About

The configuration files for my personal development environment.


Languages

Language:Vim Script 75.1%Language:Shell 19.5%Language:Ruby 2.7%Language:Python 1.7%Language:Vim Snippet 0.9%