Linux configuration files
Compatible for Ubuntu, Red Hat, OSX and Cygwin.
Installation
git clone https://github.com/Lucas-C/linux_configuration.git
BASHRC_DIR=$PWD/linux_configuration
cd $HOME
for f in .gemrc .gitconfig .inputrc .minttyrc .vimrc; do [ -e $f ] && echo "Backing up $f" && mv $f{,.bak}; ln -s $BASHRC_DIR/$f; done
echo "source $BASHRC_DIR/.bashrc" >> .bashrc
echo 'exec /bin/bash' > .profile
Any .bashrc_* file in $BASHRC_DIR will be sourced.
To use screen, create an empty ~/.use_screen file. Similarly, you can create ~/.use_tmux.
The .zshrc file is here to invoke bash even if zsh is the default shell.
Enabling pre-commit hooks
Install Yelp pre-commit hooks and then :
cd $BASHRC_DIR
pre-commit install
Defining git user identity
Keep it separate from your git configuration by putting it in a file named .gitconfig_user, in $BASHRC_DIR
:
[user]
name = ...
email = ...
If such file exists, it will be sourced from the main .gitconfig.
Atom
As admin:
h=/cydrive/c/Users/$USER
for f in $BASHRC_DIR/.atom/*; do
newf=$h/.atom/$(basename $f)
[ -f $newf ] && mv $newf{,.bak}
cmd /c mklink $(cygpath -w $newf) $(cygpath -w $f)
done
Notepad++
As admin:
h=/cydrive/c/Users/$USER
for f in $BASHRC_DIR/npp/*.xml; do cmd /c mklink $(cygpath -w $h/AppData/Roaming/Notepad++/)$(basename $f) $(cygpath -w $f); done
cmd /c mklink /d $(cygpath -w $h/AppData/Roaming/Notepad++/themes) $(cygpath -w $BASHRC_DIR/npp/themes)