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
./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
You 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-completion
brew install git
brew install bash-completion
Unfortunately, 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\.vim
Clone the tmux plugin manager
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
And then in tmux
, Prefix, Ctrl + I.
cat extensions.txt | xargs -n1 code --install-extension
To backup
code --list-extensions > extensions.txt
Voila! 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 [email protected]
are your name and email.
[user]
useConfigOnly = true
name = Karl
email = [email protected]
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 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"