Structure of repo and configs inspired and somewhat copied from craftzdog/dotfiles-public
since the modernization of my config files circa 2022
git submodule init
git submodule update
For Mac
to export iTerm2 settings:
plutil -convert xml1 ~/Library/Preferences/com.googlecode.iterm2.plist -o ./com.googlecode.iterm2.plist
to import:
plutil -convert binary1 com.googlecode.iterm2.plist -o ~/Library/Preferences/com.googlecode.iterm2.plist
Setting up true color: https://jdhao.github.io/2018/10/19/tmux_nvim_true_color/
Setup:
- install brew
- basic tools
brew install zsh iterm2 tmux neovim git chrome difftastic
- install oh-my-zsh
- clone the user-config repo into
src/personal/user-config
ln -s ~/src/personal/user-config/.config
- create git work config file with user info
neovim ~/.config/git/work_config
[user]
email = <work-email>
- Deal with configs that don't respect XDG home (cd ~)
ln -s ~/src/personal/user-config/.config/cargo ./.cargo
- setup iterm2
- Download SourceCodePro font link
- Install Sauce Code Pro Nerd Font Complete.ttf and Mono version ttf (regular, italic, bold, bold italic)
- Pref->General->Pref load preferences directly from user-config file
- Don't save now just relaunch iTerm2 to take effect
- make the brew zsh default (see link
- brew info zsh (note the path)
sudo dscl . -create /Users/$USER UserShell <shell-path>
- Setup
.zshrc
cd ~/.oh-my-zsh/custom/plugins
git clone --depth 1 -- https://github.com/zsh-users/zsh-autosuggestions
git clone --depth 1 -- https://github.com/zsh-users/zsh-syntax-highlighting
ln ~/src/personal/user-config/.zshrc .zshrc
- productivity tools
brew install alfred rectangle google-drive keepassxc tmuxinator
- essential terminal tools
brew install fzf tig kdiff3
- Note: If you get
Can't be opened because...
error on kdiff3 go to Application right click open - install fzf completions
$(brew --prefix)/opt/fzf/install
- misc tools
brew install gron rg jq tldr wget tree asdf peco
- go get a coffee
- Unbind mac keyboard shortcuts
- c-up-arrow
- Make capslock ctrl
- Alfred
- ⌘+space
- Rectangle
- import rectangle_config.json
- Configure google-drive
- sync hugo/pessoal folder
- Configure keepassxc
- Get and Sync private keys to keychain
mkdir ~/.ssh
chmod 600 ~/.ssh
- Get keys
- Set keys permissions
chmod 600 ~/.ssh/my_key
andchmod 600 ~/.ssh/my_key.pub
- Set
~/.ssh/config
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/my_key1
IdentityFile ~/.ssh/my_key2
- Add them to keychain with
ssh-add --apple-use-keychain ~/.ssh/my_priv_key
- install packer for neovim
- asdf
- install python plugin and install python version
- `asdf global python
- install pipx into that version
pip install pipx
- Transfer work gpg keys
- setup podman
Problems: If LspLog complains:
[ERROR][2022-10-27 14:11:45] .../vim/lsp/rpc.lua:733 "rpc" "pylsp" "stderr" "2022-10-27 14:11:45,223 JST - WARNING - pylsp.config.config - Failed to load hook pylsp_definitions: Python version 3.11 is currently not supported.\n"
its because pylsp is using a old version of jedi that uses a version of parso that doesn't include python 3.11 grammar
force a newer version of jedi
pipx inject --pip-args="--upgrade" python-lsp-server jedi