This project packages all of my Linux/OSX configuration files which I want to stay constant across all environments.
- Identify a directory into which you want to install this home directory configuration (let's call it $INSTALL_PATH; usually ~, or $HOME ... although it does not need to be; see below). For example (assuming you are using
bash
orzsh
):
export INSTALL_PATH=$HOME
- Clone the repo (n.b.: you may need to make sure that your ssh keys are in order before executing these lines):
cd $INSTALL_PATH
git clone https://github.com/gbpoole/.gbpEnv.git
- Make sure that any old or default config files are moved out of the way:
mkdir .default_config; mv .bash* .zsh* .default_config
- Perform the install:
make -f .gbpEnv/Makefile
- In instances where you are sharing an account (eg. SHARED_LOGIN) with someone else on a system (eg. IP_ADDRESS), you can have your own configuration somewhere other than $HOME and have your own defaults by logging in like this:
ssh -t -Y -l SHARED_LOGIN IP_ADDRESS "cd INSTALL_PATH; bash --rcfile .bashrc"
- You don't have your home directory managed by git, which can create unnecessary overhead with tools (like zsh) which monitor the current directory's repository status
- Clear separation of files which are part of this repository (all indicated as links) and those which are not.
- When managing dot files with Stow, you have more fine-grained control over your install. You can install different applications to different systems.
- System branching can be handled by the repository and it's install, reducing complexity.
- To configure Python, this system is set-up to work best when you do the following:
- Install
pyenv
as follows:
- Install
cd INSTALL_PATH/3rd_Party ; make pyenv
Then, exit and start a new shell. A recent version of python will be installed and a default environment created.
Contact info: Personal Homepage | Email Me