- git
- curl
- make
Running make
git clone https://github.com/creack/dotfiles ~/.dotfiles
cd ~/.dotfiles
make -j
Note that the Makefile manages:
- go
- oh-my-zsh
- nvm
github_user=creack
curl https://github.com/${github_user}.gpg | gpg --import
curl https://github.com/${github_user}.keys >> ~/.ssh/authorized_keys
chsh -s /usr/bin/zsh $(whoami)
As root:
apt-get update && apt-get install -y sudo
user=creack
echo "$user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/90-primary-user
# Docker itself.
curl -fsSL https://get.docker.com | sh
sudo groupadd docker
sudo usermod -aG docker $(whoami)
sudo sh -c 'echo /usr/local/bin/zsh >> /etc/shells'
chsh -s /usr/local/bin/zsh $(whoami)
Note that Apple announced they will remove ruby from OSX by default. Will need to update how to install brew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew cask install virtualbox
brew install docker docker-machine docker-compose
docker-machine create --driver=virtualbox --virtualbox-disk-size=200000 --virtualbox-cpu-count=4 default
eval "$(docker-machine env)"
docker ps
- System Preferences -> Sharing -> Computer's Name
- System Preferences -> Keyboard -> Key Repeat -> Set to Fast
- System Preferences -> Keyboard -> Delay Until Repeat -> Set to Short
- System Preferences -> Trackpad -> Tap to click -> Enable
- System Preferences -> Trackpad -> Tracking speed -> Set to Fast
- System Preferences -> Displays -> Resolution: Scaled -> More Space
Make sure to have all of this installed. Some might be installed by default.
Dependencies:
- git
- curl
- make
Common tools:
- tmux
- emacs (emacs-nox on linux)
- gpg
- ssh
- python / pip
- powerline-status
- awscli
- most
- zsh (on OSX, install it from brew to have newer version)
- remake
- ntpdate
# Go itself.
(cd ~/.dotfiles && echo "1.13.1" > versions/go && make)
go version
# Go tools (golint, govet, guru, etc).
go get golang.org/x/tools/cmd/...
# Linter
(cd ~/.dotfiles && echo "1.19.1" > versions/golangci-lint && make)
golangci-lint --version
(cd ~/.dotfiles && echo "1.24.1" > versions/docker-compose && make)
docker-compose --version
Loading nvm is slow (~1 to 2second), so it is wrapped in a function instead of being loaded with the shell.
loadnvm
nvm install --lts
node --version
As of October 6th, 2019, elpa has been down for at least 2 weeks, preventing package installation from melpa.
Self contain reproduction of the issue (and check if it is still an issue):
docker run -it --rm ubuntu:19.04 bash -c 'apt-get update && apt-get install -y ca-certificates emacs-nox && emacs --no-init-file --eval "(progn (package-initialize) (package-refresh-contents))"'
Temporaty fix:
mkdir -p ~/elpaclone && cd ~/elpaclone && curl -L https://elpa.gnu.org/packages/archive-contents | perl -pe 's/(^\(1|\n)//g' | perl -pe 's/\]\)/])\n/g' | perl -pe 's/^ *\(([a-z0-9A-Z-]*).*\[\(([0-9 ]*).*(single|tar).*/\1-\2.\3/g' | perl -pe 's/ /./g' | perl -pe 's/single/el/g' | perl -pe 's/\)//g' | xargs -I {} curl -L -O https://elpa.gnu.org/packages/\{\} && curl -L -O https://elpa.gnu.org/packages/archive-contents
;; init-package.el
(setq package-archives '(("gnu" . "~/elpaclone")
("melpa" . "https://melpa.org/packages/")))