Karl Ding's dotfiles
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.
git clone https://github.com/karlding/dotfiles.git && cd dotfiles
./installIf you wish to install OS specifics, you can do
./install linuxor for macOS
./install macosIf you're on a Mac, you may want to do
brew bundleYou may want to install a base16-shell theme. I use the base16_ocean theme.
You may also want to install bash-completion (which is a dependency that is used for the PS1 prompt.
Either build universal-ctags from source or pick one of the packages.
sudo apt-get install bash-completionbrew install git
brew install bash-completionUnfortunately, I haven't had a chance to automate mklink yet.
Hard link the conemu.xml file to %APPDATA%\ConEmu.xml.
mklink /H "%APPDATA%\ConEmu.xml" "%DOTFILES_DIR%\os\windows\ConEmu\ConEmu.xml"Symlink the entire User folder to the Sublime Text directory.
mklink /J "%appdata%\Sublime Text 3\Packages\User" "C:\dotfiles\location\subl\User"Symlink the atom directory to ~/.atom (or create a hard junction %userprofile%\.atom on Windows).
mklink /J "%appdata%\.atom" "C:\dotfiles\location\atom"Hard link your .vim from dotfiles to your home directory.
mklink /J C:\cygwin64\home\myusername\.vim C:\%DOTFILES_DIR%\vim\.vimClone the tmux plugin manager
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpmAnd then in tmux, Prefix, Ctrl + I.
cat extensions.txt | xargs -n1 code --install-extensionTo backup
code --list-extensions > extensions.txtVoila! Now install all your plugins using :PlugInstall.
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 karlding@users.noreply.github.com are your name and email.
[user]
useConfigOnly = true
name = Karl
email = karlding@users.noreply.github.com
Install fzf.
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 treeAlternatively, you can do
brew bundleAnd then add these utils to your PATH (probably in .bash_exports.local)
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"