Plain vanilla dotfiles repository.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Reid 440975fd5a add get docker script 6 years ago
.aliases Merge branch 'master' of https://charlesreid1.com:3000/dotfiles/vanilla 6 years ago
.bash_profile Update+clean up aliases and bash profile 6 years ago
.bash_prompt Update '.bash_prompt' 6 years ago
.bashrc Adding all the dotfiles. 6 years ago
.exports Update '.exports' 6 years ago
.functions Adding all the dotfiles. 6 years ago
.gdbinit Adding all the dotfiles. 6 years ago
.gitconfig Adding all the dotfiles. 6 years ago
.gitignore Adding all the dotfiles. 6 years ago
.gvimrc Adding all the dotfiles. 6 years ago
.hushlogin Adding all the dotfiles. 6 years ago
.inputrc Adding all the dotfiles. 6 years ago
.screenrc Adding all the dotfiles. 6 years ago
.tmux.conf Adding all the dotfiles. 6 years ago
.vimrc cleanup of vanilla vimrc 6 years ago
LICENSE adding MIT license 6 years ago
README.md Update 'README.md' 6 years ago
bootstrap.sh add get docker script 6 years ago
get-docker.sh add get docker script 6 years ago
pre_bootstrap.sh Adding all the dotfiles. 6 years ago
set_machine_name.sh Adding all the dotfiles. 6 years ago

README.md

Vanilla Dotfiles

This contains the baseline standard for dotfiles.

Each machine repository maintains its own independent dotfiles, so having this vanilla repository as a submodule is for the convenience of comparing the baseline dotfiles to the machine's specific dotfiles. (These are not programmatically used.)

Table of Contents



Machine Dotfiles Repositories

Repositories containing machine-specific dotfiles:



Inspiration

The baseline dotfiles come from two sources:

If I include Mathias' thanks section, there are a lot more people:



Installation

Steps:

  1. Clone this repository
  2. (Optional) Make modifications as needed
  3. Run the pre-bootstrap script
  4. Modify the machine hostname
  5. Run the bootstrap script
  6. (Optional) Install software

Vanilla dotfiles repo does not make any assumptions about package managers, platforms, or operating systems, so it does not try to install any softare.

That is all taken care of in the machine dotfiles repositories.

Step 1: Clone the Repo

git clone https://charlesreid1.com:3000/dotfiles/vanilla.git 

Step 2: (Optional) Make Modifications

Make modifications to files as needed using a text editor like vim.

Step 3: Run the Pre-Bootstrap Script

This changes your shell to bash and makes space for vim dotfiles.

It is a good idea to use a modern and standard version of Bash.

On a Mac, use the Homebrew version of bash at /usr/local/bin/bash and not the system bash.

On -nix machines, use /bin/bash and not /bin/sh.

./pre_bootstrap.sh

Step 4: Modify the Machine Hostname

Set the machine host name using set_machine_name.sh. This script makes no assumptions about platform, so it tries to determine your OS and act accordingly.

./set_machine_name.sh

It will prompt you for the hostname you want to set.

Step 5: Run the Bootstrap Script

Run the bootstrap script, which will ask for your confirmation and will then copy all of the dotfiles in this directory to your home directory. This will overwrite any existing dotfiles.

./bootstrap.sh

Step 6: (Optional) Install Software

Use Homebrew or Aptitude or Opkg or some other package manager to install software.




Setting $PATH

The $PATH variable controls where the shell will look for programs. To modify your $PATH variable, you can do two things:

  • Put path modifications in $HOME/.path
  • Add path modifications to $HOME/.bash_profile

The ~/.path file is run before other files like .aliases, so it should pick up the correct version of binaries in subsequent sourced dotfiles.

An example ~/.path file might include:

export PATH="/custom/program/path/bin:$PATH"



Custom Commands Without Committing

Use the ~/.extra file to set any extra settings without committing them to the repository.

# Git credentials
# Not in the repository
# This prevents people from using my github credentials
GIT_AUTHOR_NAME="Charles Reid"
GIT_AUTHOR_EMAIL="charlesreid1@gmail.com"

GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"

git config --global user.name "$GIT_AUTHOR_NAME"
git config --global user.email "$GIT_AUTHOR_EMAIL"

Also use the .extra file to override settings, functions, etc from other dotfiles.