blob: 0f1da39c6312aa61669ed00741c187cc4e8513fc [file] [log] [blame]
Mark Szymanskid82d8fb2011-06-28 00:22:43 -05001#!/usr/bin/env bash
John Schulz323ce202011-09-20 11:07:48 -04002BASH_IT="$HOME/.bash_it"
Mark Szymanskid82d8fb2011-06-28 00:22:43 -05003
4cp $HOME/.bash_profile $HOME/.bash_profile.bak
5
6echo "Your original .bash_profile has been backed up to .bash_profile.bak"
7
8cp $HOME/.bash_it/template/bash_profile.template.bash $HOME/.bash_profile
9
10echo "Copied the template .bash_profile into ~/.bash_profile, edit this file to customize bash-it"
11
12while true
13do
14 read -p "Do you use Jekyll? (If you don't know what Jekyll is, answer 'n') [Y/N] " RESP
15
16 case $RESP
17 in
18 [yY])
19 cp $HOME/.bash_it/template/jekyllconfig.template.bash $HOME/.jekyllconfig
20 echo "Copied the template .jekyllconfig into your home directory. Edit this file to customize bash-it for using the Jekyll plugins"
21 break
22 ;;
23 [nN])
24 break
25 ;;
26 *)
27 echo "Please enter Y or N"
28 esac
29done
Mark Szymanski3eff6b22011-07-24 13:36:07 -050030
31function load_all() {
Mark Szymanski159e1e42011-07-24 15:01:07 -050032 file_type=$1
John Schulz323ce202011-09-20 11:07:48 -040033 [ ! -d "$BASH_IT/$file_type/enabled" ] && mkdir "$BASH_IT/${file_type}/enabled"
Chris Causer980bd9e2012-07-31 11:09:10 +010034 for src in $BASH_IT/${file_type}/available/*; do
35 filename="$(basename ${src})"
36 [ ${filename:0:1} = "_" ] && continue
37 dest="${BASH_IT}/${file_type}/enabled/${filename}"
38 if [ ! -e "${dest}" ]; then
39 ln -s "${src}" "${dest}"
40 else
41 echo "File ${dest} exists, skipping"
42 fi
43 done
Mark Szymanski3eff6b22011-07-24 13:36:07 -050044}
45
46function load_some() {
Mark Szymanski159e1e42011-07-24 15:01:07 -050047 file_type=$1
Greg Nofi76326492012-05-14 20:05:06 -040048 for path in `ls $BASH_IT/${file_type}/available/[^_]*`
Mark Szymanski3eff6b22011-07-24 13:36:07 -050049 do
John Schulz323ce202011-09-20 11:07:48 -040050 if [ ! -d "$BASH_IT/$file_type/enabled" ]
Mark Szymanski3eff6b22011-07-24 13:36:07 -050051 then
John Schulz323ce202011-09-20 11:07:48 -040052 mkdir "$BASH_IT/$file_type/enabled"
Mark Szymanski3eff6b22011-07-24 13:36:07 -050053 fi
Greg Nofi76326492012-05-14 20:05:06 -040054 file_name=$(basename "$path")
Mark Szymanski3eff6b22011-07-24 13:36:07 -050055 while true
56 do
Greg Nofi76326492012-05-14 20:05:06 -040057 read -p "Would you like to enable the ${file_name%%.*} $file_type? [Y/N] " RESP
Mark Szymanski3eff6b22011-07-24 13:36:07 -050058 case $RESP in
59 [yY])
Greg Nofi76326492012-05-14 20:05:06 -040060 ln -s "$path" "$BASH_IT/$file_type/enabled"
Victor Castell55c32cc2011-07-25 13:34:39 +020061 break
Mark Szymanski3eff6b22011-07-24 13:36:07 -050062 ;;
63 [nN])
64 break
65 ;;
66 *)
67 echo "Please choose y or n."
68 ;;
69 esac
70 done
71 done
Mark Szymanski3eff6b22011-07-24 13:36:07 -050072}
73
Mark Szymanski159e1e42011-07-24 15:01:07 -050074for type in "aliases" "plugins" "completion"
Mark Szymanski3eff6b22011-07-24 13:36:07 -050075do
Mark Szymanski159e1e42011-07-24 15:01:07 -050076 while true
77 do
78 read -p "Would you like to enable all, some, or no $type? Some of these may make bash slower to start up (especially completion). (all/some/none) " RESP
79 case $RESP
80 in
81 some)
82 load_some $type
83 break
84 ;;
85 all)
86 load_all $type
87 break
88 ;;
89 none)
90 break
91 ;;
92 *)
93 echo "Unknown choice. Please enter some, all, or none"
94 continue
95 ;;
96 esac
97 done
Mark Szymanski3eff6b22011-07-24 13:36:07 -050098done