added dotfiles init script (so you can make your own repo!)
This commit is contained in:
parent
2a3001ac6d
commit
1976e6dd4a
1 changed files with 40 additions and 0 deletions
40
.local/bin/dotfiles-init.sh
Executable file
40
.local/bin/dotfiles-init.sh
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# this will setup a bare git repo for managing dotfiles. You should only run this script once per set of dotfiles.
|
||||||
|
# credit for this idea and basic script outline goes to: https://www.atlassian.com/git/tutorials/dotfiles
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# name the path to the dotfiles repo
|
||||||
|
DOTFILES_REPO_DIR="$HOME/git/dotfiles"
|
||||||
|
|
||||||
|
# Some colors to spice things up
|
||||||
|
Cyan="$( tput setaf 6 )"
|
||||||
|
Green="$( tput setaf 2 )"
|
||||||
|
NC="$( tput sgr0 )" # No Color
|
||||||
|
|
||||||
|
# check for the git command and exit if it doesn't exist
|
||||||
|
if ! command -v git > /dev/null;then
|
||||||
|
echo 'git is not installed or could not be found in $PATH, please install git to proceed'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# an "alias" for the git command for use by the script
|
||||||
|
dot() {
|
||||||
|
git --git-dir="$DOTFILES_REPO_DIR" --work-tree="$HOME" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mkdir -p "$DOTFILES_REPO_DIR"
|
||||||
|
if git init --bare "$DOTFILES_REPO_DIR" > /dev/null 2>&1; then
|
||||||
|
echo "A bare git repository has been initialized at $DOTFILES_REPO_DIR"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo 'git repository initialization failed'
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
dot config --local status.showUntrackedFiles no
|
||||||
|
echo "Please add this alias to your shell's init script:"
|
||||||
|
# looks like this: alias dot="git --git-dir="/path/to/repo" --work-tree=\"$HOME\""
|
||||||
|
echo " ${Cyan}alias dot=${Green}\"git --git-dir=\"$DOTFILES_REPO_DIR\" --work-tree=\\\"\$HOME\\\"\"${NC}"
|
||||||
|
echo "Then, you can use the command '${Cyan}dot ${Green}add <file>${NC}' to add a given file to the repo"
|
||||||
|
|
Loading…
Add table
Reference in a new issue