Tune Your Dot Files
Author: Stu FeeserAlta3 Research’s Stu Feeser explains the process:
Objectives:
- Make your environment easy for students to follow.
- Remove the irritating bell sounds that compete with the lesson and your sanity.
Tasks:
-
Make your bash prompt interesting (read gaudy). It’s helpful for my students to track a vivid prompt to delimit my activity. Go here to create the perfect bash prompt
My favorite:
export PS1="\[[33m\]\u\[[m\]\[[35m\]@\[[m\]\[[36m\]\h\[[m\]\[[35m\]:\[[m\]\[[32m\]\w\[[m\] \[[35m\]\$\[[m\] "
-
Once you like what you see, save the prompt at the bottom of your
.bashrc
file like this::wq
to save and quit, ORq!
to quit without saving if you made a mistake.~ $
vim .bashrc
PS1="\[[33m\]\u\[[m\]\[[35m\]@\[[m\]\[[36m\]\h\[[m\]\[[35m\]:\[[m\]\[[32m\]\w\[[m\] \[[35m\]\$\[[m\] "
-
Set vim as the default editor.
~ $
sudo update-alternatives --config editor
3
Select option 3 -
Remove the irritating CLI BELL by editing the /etc/inputrc file. (Yes, this is repeated from the last lab).
~ $
echo 'set bell-style none' | sudo tee -a /etc/inputrc
-
Get rid of the vim bell. This creates a .vimrc as it will not be there on new installations.
~ $
vim .vimrc
set belloff=all
Create your Github Repository!
-
Click on Repositories at the top.
-
Click New on the right-hand side.
-
Fill in your Repository name, make it private, then click the checkbox to make a README file.
-
Now click Create Repository.
Backup your dotfiles!
-
Create a bare repository called
.dotfiles
~ $
mkdir $HOME/.dotfiles
~ $
git init --bare $HOME/.dotfiles
-
Create an alias to issue git commands while NOT being inside the .dotfiles directory.
~ $
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
-
Add the dotfiles alias to your .bashrc.
vim .bashrc
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
-
This is important for your understanding. From here on out, when you type
dotfiles
it is like typing:git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' PLUS WHATEVER ELSE YOU TYPE
-
Don’t show untracked files, as there will be too many in your $HOME directory!
dotfiles config --local status.showUntrackedFiles no
-
Target your github account, NOT
sfeeser
!dotfiles remote add origin git@github.com:sfeeser/.dotfiles.git
If you accidentally run the command exactly as above, you can fix that with
dotfiles remote remove origin
and then update the command to your github account. -
Add the .bashrc file you just created.
~ $
dotfiles add .bashrc
-
Purely FYI, the above command =
git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME add .bashrc
-
Tell github who your are.
~ $
git config --global user.email "youremail@address"
~ $
git config --global user.name "yourusername"
-
Commit your change.
~ $
dotfiles commit -m "add .bashrc"
-
Push your changes.
~ $
dotfiles push --set-upstream origin master
Recovery at a new machine
-
Pull down the
.dotfiles
using your account, not sfeeser.~ $
git clone --separate-git-dir=$HOME/.dotfiles https://github.com/sfeeser/.dotfiles.git ~
-
If the command above doesn’t work, clone to a temp directory and use rsync to bring it all back. Use your account, not sfeeser.
~$
git clone --separate-git-dir=$HOME/.dotfiles https://github.com/sfeeser/.dotfiles.git tmpdotfiles
~$
rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/
~$
rm -r tmpdotfiles