Skip to content

Latest commit

 

History

History
320 lines (235 loc) · 9.08 KB

README.md

File metadata and controls

320 lines (235 loc) · 9.08 KB

dotfiles

My dotfiles

Set up macOS

Set Hostname

export HOSTNAME="<PICK SOMETHING>"

Create SSH Key

  1. Generate SSH Key: ssh-keygen -t ed25519 -a 100 -C "$(whoami)@${HOSTNAME}"
  2. Copy public key, log into GitHub, and upload key: cat ~/.ssh/id_ed25519.pub | pbcopy
  3. Install SSH key in ssh-agent: ssh-add

Set up

  1. Install Command-line Developer Tools (running git will prompt you to do this)

  2. git clone [email protected]:gtback/dotfiles.git

  3. ./dotfiles/install.sh

  4. Install latest Homebrew from .pkg installer.

  5. Restart Shell

  6. brew.up (this will take a while)

  7. Set up vim: ./dotfiles/setup_vim.sh

  8. Create dotfiles/git/config.local:

    [user]
       name = Greg Back
       email = <email address to use for Git commits on this machine>
  9. Install pipx packages: pipx.up

  10. Set up pre-commit in dotfiles repo: pre-commit install

  11. Configure macOS defaults:

    defaults write NSGlobalDomain com.apple.keyboard.fnState -bool true
    defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
    defaults write NSGlobalDomain AppleShowAllExtensions -bool true
    defaults write com.apple.menuextra.clock.plist ShowSeconds -bool true
    defaults write com.apple.dock "tilesize" -int "16"
    defaults write com.apple.dock "orientation" -string "right"
    defaults write com.apple.dock "autohide" -bool "true"
    defaults write com.apple.dock "show-recents" -bool "false"
    defaults write com.apple.dock "static-only" -bool "true"
    killall Dock
    defaults write com.apple.finder "AppleShowAllFiles" -bool "true"
    defaults write com.apple.finder "ShowPathbar" -bool "true"
    killall Finder
    mac.set_hostname "${HOSTNAME}"
  12. Install latest Python from python.org: mopup --force true

  13. Copy files from old machine to new machine:

  14. Restart Machine

  15. Set up Python:

    /usr/local/bin/python3 -m pip install --upgrade pip setuptools wheel
    /usr/local/bin/python3 -m pip install virtualenv virtualenvwrapper

    virtualenv and virtualenvwrapper are installed in the Homebrew Python 3 (this is the system Python to mise/asdf/pyenv). When a new minor version of Python is released to Homebrew, these need to be re-installed.

  16. Install language runtimes with mise:

    mise install
  17. Compile custom nnn with Nerd Font support:

    mkdir -p ~/code
    cd ~/code
    git clone [email protected]:jarun/nnn.git
    make O_NERD=1
    mv ./nnn ~/bin

References:

Setting up on Windows 7

This is not a complete guide, just a few hints.

  1. Clone repo to $HOME directory
  2. Copy files from windows directory to $HOME directory

Setting up Babun/Cygwin

  1. Install Babun

  2. Install Source Code Pro font modified for Powerline.

  3. Configure Babun to use Sauce Code Powerline font.

  4. Create SSH key (ssh-keygen -t rsa -b 4096) and upload to GitHub.

  5. Update .babunrc file as needed (proxies, user agent, etc.).

  6. Reload .babunrc and verify Network connectivity and available updates.

    source .babunrc
    babun check
  7. Clone dotfiles and run installation scripts.

    cd $HOME
    git clone [email protected]:gtback/dotfiles.git
    mv .zshrc .zshrc.bak
    mv .gitconfig .gitconfig.bak
    dotfiles/setup_env.py
    dotfiles/setup_vim.sh
  8. Customize local installation.

    git config -f .gitconfig.local user.name "Greg Back"
    git config -f .gitconfig.local user.email [email protected]
  9. Launch a new terminal to reload ZSH settings. If you get error messages, you can try updating the completion files. Note that the file containing <COMPUTER NAME> should already exist; replace that file.

    compinit -y
    cp .zcompdump .zcompdump-<COMPUTER NAME>-5.0.6
  10. Set up pip, virtualenvwrapper, and pipsi.

    curl https://bootstrap.pypa.io/get-pip.py | python
    pip install virtualenvwrapper
    curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
  11. Install other desired packages

    pact install tmux

RHEL/CentOS 7

sudo yum -y update

ssh-keygen

git config --file ~/.gitconfig.local user.email "[email protected]"
git config --file ~/.gitconfig.local user.name "Greg Back"

git clone [email protected]:gtback/dotfiles.git
python dotfiles/setup_env.py
source dotfiles/setup_vim.sh

sudo yum -y install zsh
chsh -s /bin/zsh

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sudo yum -y install yum-utils
sudo yum -y groupinstall development
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install python36u python36u-pip python36u-devel

wget https://github.com/github/hub/releases/download/v2.4.0/hub-linux-amd64-2.4.0.tgz
tar xf hub-linux-amd64-2.4.0.tgz
sudo ./hub-linux-amd64-2.4.0/install

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
sudo yum -y install zlib-devel readline-devel bzip2-devel sqlite-devel openssl-devel
pyenv install 2.7.15
pyenv install 3.6.5
echo "3.6.5\n2.7.15\nsystem\n" > ~/.pyenv/version
pyenv rehash

/usr/bin/pip3.6 install --user virtualenvwrapper
curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | /usr/bin/python3.6
pipsi install twine
pyenv rehash

# To verify virtualenwrapper is installed correctly, run the `workon` command.

Setting up Ubuntu GNOME 14.04

For VirtualBox, to get shared folders to work, run sudo adduser $USER vboxsf

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y build-essential cmake curl git python-dev tmux vim vim-gnome xclip zsh

ssh-keygen

Upload ~/.ssh/id_rsa.pub to GitHub.

git config --file ~/.gitconfig.local user.email "[email protected]"
git config --file ~/.gitconfig.local user.name "Greg Back"

cd $HOME
git clone [email protected]:gtback/dotfiles.git
python dotfiles/setup_env.py

# Vim Setup
source dotfiles/setup_vim.sh
$HOME/.vim/bundle/YouCompleteMe/install.py

# Oh-my-zsh setup
cd $HOME
chsh -s `command -v zsh`
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# Python setup
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
sudo apt-get install -y libbz2-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev llvm wget zlib1g-dev
pyenv install 2.7.11
pyenv install 3.5.1
pyenv rehash
echo "2.7.11\n3.5.1\nsystem\n" > ~/.pyenv/version

# Log out and back on to update Shell settings

~/.pyenv/versions/2.7.11/bin/pip install virtualenvwrapper

# Pipsi setup
pyenv rehash
curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | ~/.pyenv/versions/2.7.11/bin/python
pipsi install autopep8
pipsi install flake8
pipsi install httpie
pipsi install pep8
pipsi install pylint
pipsi install tmuxp
pipsi install tox
pipsi install twine

# Terminal Colors and Fonts
# Create a new Terminal Profile and use it for all modifications below.
cd $HOME
mkdir src
cd src
git clone https://github.com/gnumoksha/gnome-terminal-colors
gnome-terminal-colors/install.sh

git clone https://github.com/powerline/fonts.git powerline-fonts
powerline-fonts/install.sh
# Configure the Terminal Profile to use  `Sauce Code Powerline Medium.otf`

Log out and back in to ensure changes have taken effect.

Setting up a new Ubuntu 12.04 system

These are some steps I performed when setting up a new Ubuntu 12.04 system recently.

add-apt-repository ppa:fkrull/dead-snakes
add-apt-repository ppa:git-core/ppa
add-apt-repository ppa:pi-rho/dev

apt-get install curl git openssh-server python-pip tmux vim vim-gnome zsh

git clone https://github.com/gtback/dotfiles.git
cd dotfiles
python setup_env.py
source setup_vim.sh

cd ~
ssh-keygen -t rsa
chsh -s `command -v zsh`
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

sudo pip install -U pip
sudo pip install virtualenvwrapper
sudo pip install tmuxp
pip install --user https://github.com/Lokaltog/powerline/archive/develop.zip

wget https://github.com/Lokaltog/powerline-fonts/raw/master/Inconsolata/Inconsolata%20for%20Powerline.otf