Skip to content

karlding/dotfiles

Repository files navigation

Karl Ding's dotfiles

Build Status

Karl attempts to do dotfiles. These are my dotfiles I've been using for my personal laptop (and recently, work laptops/computers). The goal is to have a unified collection of dotfiles and configuration files to minimize time spent configuring new machines.

Setup

git clone https://github.com/karlding/dotfiles.git && cd dotfiles
./install

If you wish to install OS specifics, you can do

./install linux

or for macOS

./install macos

If you're on a Mac, you may want to do

brew bundle

base16-shell

You may want to install a base16-shell theme. I use the base16_ocean theme.

bash-completion

You may also want to install bash-completion (which is a dependency that is used for the PS1 prompt.

universal-ctags

Either build universal-ctags from source or pick one of the packages.

Ubuntu

sudo apt-get install bash-completion
macOS
brew install git
brew install bash-completion

Windows

Unfortunately, I haven't had a chance to automate mklink yet.

ConEmu

Hard link the conemu.xml file to %APPDATA%\ConEmu.xml.

mklink /H "%APPDATA%\ConEmu.xml" "%DOTFILES_DIR%\os\windows\ConEmu\ConEmu.xml"

Sublime Text 3

Symlink the entire User folder to the Sublime Text directory.

mklink /J "%appdata%\Sublime Text 3\Packages\User" "C:\dotfiles\location\subl\User"

Atom

Symlink the atom directory to ~/.atom (or create a hard junction %userprofile%\.atom on Windows).

mklink /J "%appdata%\.atom" "C:\dotfiles\location\atom"

Vim

Hard link your .vim from dotfiles to your home directory.

mklink /J C:\cygwin64\home\myusername\.vim C:\%DOTFILES_DIR%\vim\.vim

Post Install

tmux

Clone the tmux plugin manager

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

And then in tmux, Prefix, Ctrl + I.

vscode

cat extensions.txt | xargs -n1 code --install-extension

To backup

code --list-extensions > extensions.txt

vim

Voila! Now install all your plugins using :PlugInstall.

git

mklink /H .gitconfig "%DOTFILES_DIR%\git\gitconfig"

You may want to set up a ~/.gitconfig.local to prevent git from complaining whenever you try to commit. Add the following to your ~/.gitconfig.local, where Karl and [email protected] are your name and email.

[user]
    useConfigOnly = true
    name = Karl
    email = [email protected]

fzf

Install fzf.

OSX Specifics

We probably want the GNU coreutils instead of the defaults that OSX ships.

brew tap homebrew/dupes
brew install gawk gnutls gnu-indent gnu-getopt wget
brew install findutils --with-default-names
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
brew install gnu-which --with-default-names
brew install gnutls --with-default-names
brew install grep --with-default-names
brew install coreutils
brew install binutils
brew install diffutils
brew install gzip
brew install watch
brew install tmux 
brew install wget
brew install nmap
brew install gpg
brew install htop
brew install nano
brew install tree

Alternatively, you can do

brew bundle

And then add these utils to your PATH (probably in .bash_exports.local)

export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

python and pyenv