My dotfiles
- Set up macOS
- Setting up on Windows 7
- Setting up Babun/Cygwin
- RHEL/CentOS 7
- Setting up Ubuntu GNOME 14.04
- Setting up a new Ubuntu 12.04 system
export HOSTNAME="<PICK SOMETHING>"
- Generate SSH Key:
ssh-keygen -t ed25519 -a 100 -C "$(whoami)@${HOSTNAME}"
- Copy public key, log into GitHub, and upload key:
cat ~/.ssh/id_ed25519.pub | pbcopy
- Install SSH key in
ssh-agent
:ssh-add
-
Install Command-line Developer Tools (running
git
will prompt you to do this) -
git clone [email protected]:gtback/dotfiles.git
-
./dotfiles/install.sh
-
Install latest Homebrew from
.pkg
installer. -
Restart Shell
-
brew.up
(this will take a while) -
Set up vim:
./dotfiles/setup_vim.sh
-
Create
dotfiles/git/config.local
:[user] name = Greg Back email = <email address to use for Git commits on this machine>
-
Install
pipx
packages:pipx.up
-
Set up
pre-commit
indotfiles
repo:pre-commit install
-
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}"
-
Install latest Python from python.org:
mopup --force true
-
Copy files from old machine to new machine:
-
Restart Machine
-
Set up Python:
/usr/local/bin/python3 -m pip install --upgrade pip setuptools wheel /usr/local/bin/python3 -m pip install virtualenv virtualenvwrapper
virtualenv
andvirtualenvwrapper
are installed in the Homebrew Python 3 (this is thesystem
Python tomise
/asdf
/pyenv
). When a new minor version of Python is released to Homebrew, these need to be re-installed. -
Install language runtimes with
mise
:mise install
-
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:
This is not a complete guide, just a few hints.
- Clone repo to $HOME directory
- Copy files from
windows
directory to $HOME directory
-
Install Babun
-
Install Source Code Pro font modified for Powerline.
-
Configure Babun to use
Sauce Code Powerline
font. -
Create SSH key (
ssh-keygen -t rsa -b 4096
) and upload to GitHub. -
Update
.babunrc
file as needed (proxies, user agent, etc.). -
Reload
.babunrc
and verify Network connectivity and available updates.source .babunrc babun check
-
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
-
Customize local installation.
git config -f .gitconfig.local user.name "Greg Back" git config -f .gitconfig.local user.email [email protected]
-
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
-
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
-
Install other desired packages
pact install tmux
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.
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.
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