aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Passwords.kdbxbin20021 -> 12638 bytes
-rwxr-xr-xinstall.sh186
-rw-r--r--patternsHomeDir.txt1
3 files changed, 147 insertions, 40 deletions
diff --git a/Passwords.kdbx b/Passwords.kdbx
index f6360d6..eec5682 100644
--- a/Passwords.kdbx
+++ b/Passwords.kdbx
Binary files differ
diff --git a/install.sh b/install.sh
index 5c65902..1f65359 100755
--- a/install.sh
+++ b/install.sh
@@ -7,16 +7,19 @@ patternsHomeDir=~/archisofiles/patternsHomeDir.txt
counterAbortedPkg=0
setStatusE () {
+
if [ "$1" = true ]; then
set +e
else
set -e
fi
+
}
setStatusE false
yaySetupPkg () {
+
cd
git clone https://aur.archlinux.org/yay
@@ -24,48 +27,56 @@ yaySetupPkg () {
makepkg -isr
yay -S --needed - < "$dirArchIsoFiles"/pkglist.txt
+
}
openKeepass () {
+
+ wget https://yadi.sk/d/o4TMFnHFobxTsw -O "$dirArchIsoFiles"/Passwords.kdbx
setStatusE true
keepassxc-cli clip "$dirArchIsoFiles"/Passwords.kdbx github 0 -a token-cli
+
}
cloneDotfiles () {
+
while :
- do
- openKeepass
+ do openKeepass
if [ $? -eq 0 ]; then
setStatusE false
break
fi
+ echo -e "Пароль скопирован!\n"
done
cd
git clone https://blueingreen68@github.com/blueingreen68/.dotfiles
wl-copy -c
+
}
readArrays () {
- readarray -t stowPkgs < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }')
+ readarray -t stowPkgs < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }')
}
checkPkg () {
+
counterAbortedPkg=$((counterAbortedPkg+1))
if [ "$counterAbortedPkg" -eq 1 ]; then
echo -e "$(date +%d-%m-%Y::%T) \n" >> "$dotfiles"/abortedPkg.txt
fi
- echo -e \n
echo "Название пакета: $package" >> "$dotfiles"/abortedPkg.txt
stow -d "$dotfiles" -nvt ~ "$package" 2>&1 | awk '{ print $11 }' | sed '/^[[:space:]]*$/d' >> "$dotfiles"/abortedPkg.txt
+
}
stowNoFolding () {
+
setStatusE true
stow -d "$dotfiles" --no-folding -nvt ~ "$package"
@@ -77,23 +88,26 @@ stowNoFolding () {
setStatusE false
stow -d "$dotfiles" --no-folding -vt ~ "$package"
fi
+
}
stowDir () {
+
setStatusE true
stow -d "$dotfiles" -nvt ~ "$package"
if [ $? -eq 1 ]; then
- setStatusE false
- checkPkg
+ setStatusE false checkPkg
else
setStatusE false
stow -d "$dotfiles" -vt ~ "$package"
fi
+
}
stowPkgExtract () {
+
for package in ${stowPkgs[@]}
do
packageFirstSymbol=${package:0:1}
@@ -104,9 +118,11 @@ stowPkgExtract () {
stowDir
fi
done
+
}
stowUpdateNoFoldingPkg () {
+
for package in ${stowPkgs[@]}
do
packageFirstSymbol=${package:0:1}
@@ -115,53 +131,139 @@ stowUpdateNoFoldingPkg () {
stowNoFolding
fi
done
+
}
abortedPkg () {
+
if [ "$counterAbortedPkg" -gt 0 ]; then
echo "Количество нераспакованных пакетов: $counterAbortedPkg"
echo "Список находится в ~/.dotfiles/abortedPkg.txt"
elif [ "$1" = "delete" ] && [ -e "$abortedPkgFile" ]; then
rm -i "$abortedPkgFile"
fi
+
}
createStowPkgDir () {
- mkdir "$dotfiles"/"$namePackage"
- packageDir="$dotfiles"/"$namePackage"
+ if [ "$typePackageDir" = "full" ]; then
+
+ mkdir "$dotfiles"/"$namePackage"
+ packageDir="$dotfiles"/"$namePackage"
+
+ elif [ "$typePackageDir" = "noFolding" ]; then
+
+ mkdir "$dotfiles"/"_$namePackage"
+ packageDir="$dotfiles"/"_$namePackage"
+
+ fi
}
selectFile () {
- select file in ${files[@]}; do
+
+ echo "Выбери оригинальный файл или директорию для копирования:"
+ select file in ${files[@]}; do
+ createStowPkgDir
+
if [ -d "$file" ]; then
- createStowPkgDir
- cp -r "~/$file" "$packageDir"
+
+ packageFirstSymbol=${packageDir:30:1}
+
+ if [ "$packageFirstSymbol" = "_" ]; then
+ vifm --select "$file" --on-choose "cp -r %f $packageDir"
+ else
+ cp -r "$file" "$packageDir"
+ fi
+
elif [ -f "$file" ]; then
- createStowPkgDir
- cp "~/$file" "$packageDir"
+
+ cp -r "$file" "$packageDir"
+
+ fi
+
+ return
+ done
+}
+
+selectDir () {
+
+
+ if [ "$choiseDir" = "home" ]; then
+
+ choiseDir="$HOME"
+ readarray files -t < <(ls -lA -d $choiseDir/* | grep -v -f "$patternsHomeDir" | awk '{ print $9 }' | sed '/^[[:space:]]*$/d')
+
+ if [ "$files" = "" ]; then
+ echo "Массив files пустой! Выход..."
+ exit
+ fi
+
+ elif [ "$choiseDir" = "config" ]; then
+
+ choiseDir="$XDG_CONFIG_HOME"
+ readarray files -t < <(ls -lA -d $choiseDir/* | awk '{ print $9 }' | sed '/^[[:space:]]*$/d')
+
+ if [ "$files" = "" ]; then
+ echo "Массив files пустой! Выход..."
+ exit
fi
+ fi
+}
+
+selectType () {
+
+ echo "Выбери тип нового пакета:"
+ echo -e " - full - это полная копия оригинального пакета;\n - noFolding - частичная копия"
+ select choiseType in full noFolding; do
+
+ if [ "$choiseType" = "full" ]; then
+
+ typePackageDir="full"
+
+ elif [ "$choiseType" = "noFolding" ]; then
+
+ typePackageDir="noFolding"
+
+ fi
+
+ return
done
+
}
-addFullPackage () {
- echo "Это файл из home или .config директории?"
- select choise in home config; do
- case "$choise" in
+
+addPackage () {
+
+ while :
+ do
+ read -r -p "Введи название нового пакета в ~/.dotfiles: " namePackage
+
+ if [ -d "$dotfiles"/"$namePackage" ]; then
+ echo "Пакет уже существует! Выбери другое название."
+
+ continue
+ fi
+
+ break
+ done
+
+ echo "Оригинальный файл для копии находится в home или .config директории?"
+ select choiseDir in home config; do
+ case "$choiseDir" in
home)
- echo "Выбери файл или директорию для копирования"
- readarray files -t < <(ls -lA "$HOME" | grep -v -f "$patternsHomeDir" | awk '{ print $9 }' | sed '/^[[:space:]]*$/d')
+ selectDir "$choiseDir"
+ selectType
selectFile
-
+
break
;;
config)
- echo "Выбери файл или директорию для копирования"
- readarray files -t < <(ls -lA "$XDG_CONFIG_HOME" | awk '{ print $9 }' | sed '/^[[:space:]]*$/d')
-
+ selectDir "$choiseDir"
+ selectType
selectFile
break
@@ -174,22 +276,19 @@ addFullPackage () {
esac
done
+ echo "Готово!"
}
-addPackage () {
- read "Введи название для пакета" -r namePackage
- if [ "$1" = "full" ]; then
- addFullPackage
- elif [ "$1" = "noFolding" ]; then
- addNoFoldingPackage
- fi
+createDefaultDirs () {
+ mkdir $HOME/{downloads,images,projects,torrents,video}
- }
+ mkdir $HOME/video/{all-videos,translated-videos}
+}
startSetup () {
abortedPkg "delete"
- select event in Pacman Stow StowUpdate AddFullPackage AddNoFoldingPackage; do
+ select event in Yay Stow StowUpdate AddPackage CreateDefaultDirs; do
case $event in
Yay)
yaySetupPkg
@@ -212,14 +311,21 @@ startSetup () {
break
;;
- AddFullPackage)
-
-
- esac
- done
- read "Выбери папку из директории .config" -r dirConfig
-
- cp -r "$dirConfig" "$dotfiles"
+ AddPackage)
+ addPackage
+
+ break
+ ;;
+
+ CreateDefaultDirs)
+ createdDefaultDirs
+
+ break
+ ;;
+
+ AdoptPackage)
+
+
*)
echo "Invalid option... Выход"
exit
diff --git a/patternsHomeDir.txt b/patternsHomeDir.txt
index caa32e9..eda7c7d 100644
--- a/patternsHomeDir.txt
+++ b/patternsHomeDir.txt
@@ -13,3 +13,4 @@ shotcut
VirtualBox
Yandex.Disk
Music
+images