diff options
| author | 2023-12-20 18:27:21 +0500 | |
|---|---|---|
| committer | 2023-12-20 18:27:21 +0500 | |
| commit | 1b379ff690f173dce03f2adcf04ccac3bcca081a (patch) | |
| tree | c449b3f9e3c53a168fa2e83e3347b8e026402442 /install.sh | |
| parent | 0939a3ae9afbb0abf21c76e5cb9f729ddd8fd007 (diff) | |
update install.sh
Diffstat (limited to 'install.sh')
| -rwxr-xr-x | install.sh | 101 |
1 files changed, 87 insertions, 14 deletions
@@ -1,9 +1,21 @@ #!/bin/bash - -set -e - dirArchIsoFiles=~/archisofiles dotfiles=~/.dotfiles +counterAbortedPkg=0 + +setStatusE () { + if [ "$1" = true ]; then + set +e + else + set -e + fi +} + +setStatusE false + +pacmanSetupPkg () { + sudo pacman -S --needed - < "$archisofiles"/pkglist.txt +} cloneDotfiles () { keepassxc-cli show "$dirArchIsoFiles"/Passwords.kdbx github | grep "Notes:" | awk '{ print $2 }' | wl-copy @@ -12,47 +24,108 @@ cloneDotfiles () { } readArrays () { - readarray -t stowPackages < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }') + readarray -t stowPkgs < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }') +} + +checkPkg () { + counterAbortedPkg=$((counterAbortedPkg+1)) + + echo "Название: $package" >> "$dotfiles"/abortedPkg.txt + + stow -d "$dotfiles" -nvt ~ "$package" 2>&1 | awk '{ print $11 }' >> "$dotfiles"/abortedPkg.txt } -stowPackageExtract () { - for package in ${stowPackages[@]} +stowNoFolding () { + setStatusE true + + stow -d "$dotfiles" --no-folding -nvt ~ "$package" + + if [ $? -eq 1 ]; then + setStatusE false + + checkPkg + else + setStatusE false + + stow -d "$dotfiles" --no-folding --adopt -vt ~ "$package" + fi +} + +stowDir () { + setStatusE true + + stow -d "$dotfiles" --adopt -nvt ~ "$package" + + if [ $? -eq 1 ]; then + setStatusE false + + checkPkg + else + setStatusE false + + stow -d "$dotfiles" --adopt -vt ~ "$package" + fi +} + +stowPkgExtract () { + for package in ${stowPkgs[@]} do packageFirstSymbol=${package:0:1} if [ "$packageFirstSymbol" = "_" ]; then - stow --no-folding -vt ~ "$package" + stowNoFolding else - stow -nvt ~ "$package" + stowDir + fi + done +} + +stowUpdateNoFoldingPkg () { + for package in ${stowPkgs[@]} + do + packageFirstSymbol=${package:0:1} + + if [ "$packageFirstSymbol" = "_" ]; then + stowNoFolding fi done } startSetup () { - select event in Pacman Stow; do + select event in Pacman Stow StowUpdate; do case $event in Pacman) - pacman -S --needed - < "$archisofiles"/pkglist.txt - - break + pacmanSetupPkg + break ;; Stow) + pacmanSetupPkg cloneDotfiles readArrays - stowPackageExtract + stowPkgExtract break ;; + StowUpdate) + stowUpdateNoFoldingPkg + + break + ;; + *) echo "Invalid option... Выход" exit ;; esac done + + if [ "$counterAbortedPkg" -gt 0 ]; then + echo "Количество нераспакованных пакетов: $counterAbortedPkg" + echo "Список находится в ~/.dotfiles/abortedPkg.txt" + fi } # Установка startSetup - |
