diff options
| author | 2023-12-24 17:53:12 +0000 | |
|---|---|---|
| committer | 2023-12-24 17:53:12 +0000 | |
| commit | 3a46071d1ee4adcbe7e533f8190af857c069a292 (patch) | |
| tree | 8a58fdca4542d3cf3bfa5c3fe9fea803fc837836 /install.sh | |
| parent | 4a58346f7b802b9fa7e6e2b94522642ab8a9aa63 (diff) | |
update files
Diffstat (limited to 'install.sh')
| -rwxr-xr-x | install.sh | 186 |
1 files changed, 146 insertions, 40 deletions
@@ -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 |
