summaryrefslogtreecommitdiff
path: root/.local/bin/dotfiles-config
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/dotfiles-config')
-rwxr-xr-x.local/bin/dotfiles-config97
1 files changed, 97 insertions, 0 deletions
diff --git a/.local/bin/dotfiles-config b/.local/bin/dotfiles-config
new file mode 100755
index 0000000..e2a4296
--- /dev/null
+++ b/.local/bin/dotfiles-config
@@ -0,0 +1,97 @@
+#!/bin/sh
+DOTFILESDIR=$HOME/Documents/projects/gitlab/dotfiles
+add(){
+ cd $HOME
+ declare -i count=1
+ declare -i countForDia=1
+ while [ "$count" -le "$(ls -A $HOME | wc -w)" ]
+ do
+ name[$countForDia]="$(ls -A $HOME | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} $(ls -A $HOME | sed "${count}q;d") off "
+ count=$((count+1))
+ countForDia=$((countForDia+1))
+ done
+ count=1
+ while [ "$count" -le "$(ls -A $HOME/.config/ | wc -w)" ]
+ do
+ name[$countForDia]=".config/$(ls -A $HOME/.config/ | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} .config/$(ls -A $HOME/.config/ | sed "${count}q;d") off "
+ countForDia=$((countForDia+1))
+ count=$((count+1))
+ done
+ count=1
+ while [ "$count" -le "$(ls -A $HOME/.local/share/ | wc -w)" ]
+ do
+ name[$countForDia]=".local/share/$(ls -A $HOME/.local/share/ | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} .local/share/$(ls -A $HOME/.local/share/ | sed "s/Paradox Interactive/ParadoxInteractive/g" | sed "${count}q;d") off "
+ countForDia=$((countForDia+1))
+ count=$((count+1))
+ done
+ name[$countForDia]=".local/bin/"
+ forDialog[$countForDia]="${countForDia} .local/bin/ off"
+ set -A files $(dialog --title "Dotfiles in the Home directory" --checklist "Select dotfiles:" 0 0 0 ${forDialog[*]} 3>&1 1>&2 2>&3 3>&-)
+ cd $DOTFILESDIR
+ count=0
+ while [ "$count" -le "${#files[@]}" ]
+ do
+ [ -f ${name[${files[$count]}]} ] && cp $HOME/${name[${files[$count]}]} ${name[${files[$count]}]}
+ [ -d ${name[${files[$count]}]} ] && cp -TR $HOME/${name[${files[$count]}]} ${name[${files[$count]}]}
+ git add ${name[${files[$count]}]}
+ count=$((count+1))
+ done
+ COMMITMSG=$(dialog --title "Commit Message" --inputbox "Message" 0 0 3>&1 1>&2 2>&3 3>&-)
+ git commit -m "$COMMITMSG"
+ git push
+}
+del(){
+ cd $DOTFILESDIR
+ declare -i count=1
+ declare -i countForDia=1
+ while [ "$count" -le "$(ls -A $DOTFILESDIR | wc -w)" ]
+ do
+ name[$countForDia]="$(ls -A $DOTFILESDIR | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} $(ls -A $DOTFILESDIR | sed "${count}q;d") off "
+ count=$((count+1))
+ countForDia=$((countForDia+1))
+ done
+ count=1
+ while [ "$count" -le "$(ls -A $DOTFILESDIR/.config/ | wc -w)" ]
+ do
+ name[$countForDia]=".config/$(ls -A $DOTFILESDIR/.config/ | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} .config/$(ls -A $DOTFILESDIR/.config/ | sed "${count}q;d") off "
+ countForDia=$((countForDia+1))
+ count=$((count+1))
+ done
+ count=1
+ while [ "$count" -le "$(ls -A $DOTFILESDIR/.local/share/ | wc -w)" ]
+ do
+ name[$countForDia]=".local/share/$(ls -A $DOTFILESDIR/.local/share/ | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} .local/share/$(ls -A $DOTFILESDIR/.local/share/ | sed "${count}q;d") off "
+ countForDia=$((countForDia+1))
+ count=$((count+1))
+ done
+ count=1
+ while [ "$count" -le "$(ls -A $DOTFILESDIR/.local/bin/ | wc -w)" ]
+ do
+ name[$countForDia]=".local/bin/$(ls -A $DOTFILESDIR/.local/bin/ | sed "${count}q;d")"
+ forDialog[$countForDia]="${countForDia} .local/bin/$(ls -A $DOTFILESDIR/.local/bin/ | sed "${count}q;d") off "
+ countForDia=$((countForDia+1))
+ count=$((count+1))
+ done
+ set -A files $(dialog --title "Dotfiles in the Dotfiles directory" --checklist "Select dotfiles:" 0 0 0 ${forDialog[*]} 3>&1 1>&2 2>&3 3>&-)
+ count=0
+ while [ "$count" -le "${#files[@]}" ]
+ do
+ git rm -r ${name[${files[$count]}]}
+ echo ${name[${files[$count]}]}
+ count=$((count+1))
+ done
+ COMMITMSG=$(dialog --title "Commit Message" --inputbox "Message" 0 0 3>&1 1>&2 2>&3 3>&-)
+ git commit -m "$COMMITMSG"
+ git push
+}
+mainMenu(){
+ select=$(dialog --title "Dotfiles Script" --menu "Select an option:" 0 0 0 1 Add 2 Delete 3>&1 1>&2 2>&3 3>&-)
+ ( [ $select = 1 ] && add ) || ( [ $select = 2 ] && del )
+}
+mainMenu