jack's dotfiles
Clone the respository into ~/dotfiles.
You should technically be able to clone to wherever you want, since I tried to avoid relative paths in the setup process.
However, I use ~/dotfiles and everything herein has been tested with respect to that.
git clone https://github.com/jackfletch/dotfiles.git
cd dotfiles
# run setup script that has yet to be writtenThe above install process will:
- Download the dotfiles to your computer (i.e.,
~/dotfiles)
TODO:
- Create some additional directories (
$HOME/.vim/{backups,swaps,undo}/) - Symlink files to
$HOME - Install various necessary applications, command-line tools, and programming languages (Go)
- Install docker, kubernetes, containerd from source
- Set custom preferences
- Install vim plugins
TODO
There are settings that shouldn't be committed to a public git repo, because they either:
- should be different across your machines, or
- are personal or private (e.g.,
gituser name and email)
These dotfiles can be easily extended to suit these additional local settings.
The following files, if they exist, will be sourced after their associated non-local counterparts, allowing their contents to add to or overwrite the default configuration:
Add custom aliases, exports, etc.:
# Set local aliases
alias starwars="telnet towel.blinkenlights.nl"
# Set PATH additions
PATH="$PATH:$HOME/dotfiles/bin"
export PATHNote: Use ~/.gitconfig.local to store sensitive information such as the git user credentials, e.g.:
[user]
name = Jack Fletcher
email = jack@example.com
signingkey = XXXXXXXX
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = trueAdd custom vim keybindings, commands, etc.:
" custom key bindings
" swap current character with next character and retain cursor position
nnoremap <silent> gc xphIf you decide to fork this project, do not forget to substitute my username with your own where applicable.
.tmux.conf- tmux.tmux- tmux "profiles".vim,.vimrc,.vimrc.local- vim.inputrc- input prompt behavior (readline)
.aliases- aliases.bash_profile- sources other files, sets shell options and autocompletion.exports- exports.prompt- prompt.bashrc- sources.bash_profile.custom- optional local config (.localhas a default use already).functions- functions.path- path
Bash file sourcing chain:
.bashrc
└── .bash_profile
├── .path
├── .prompt
├── .exports
├── .aliases
├── .functions
└── .custom
.gitattributes.gitconfig.gitconfig.local- optional local config
- install script that has not be written yet
Inspiration and code was taken from many sources, including:
