aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorLibravatar blueingreen68 <blueingreen68@gmail.com>2023-12-26 19:03:41 +0500
committerLibravatar blueingreen68 <blueingreen68@gmail.com>2023-12-26 19:03:41 +0500
commiteb3d8950895cb9ecaaa16cf700e5e1f94485bd67 (patch)
tree7f931005db765b14208cc566192254e5e74af531 /library
parent41d40d6c18b6ffaf5132dbc67500214bc6d6d12b (diff)
update
Diffstat (limited to 'library')
-rw-r--r--library/stow.sh79
1 files changed, 79 insertions, 0 deletions
diff --git a/library/stow.sh b/library/stow.sh
new file mode 100644
index 0000000..cd6a0da
--- /dev/null
+++ b/library/stow.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+readArrays () {
+ 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 "Название пакета: $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"
+
+ if [ $? -eq 1 ]; then
+ setStatusE false
+ checkPkg
+ else
+ 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
+ else
+ setStatusE false
+ stow -d "$dotfiles" -vt ~ "$package"
+ fi
+
+}
+
+stowPkgExtract () {
+
+ for package in ${stowPkgs[@]}
+ do
+ packageFirstSymbol=${package:0:1}
+
+ if [ "$packageFirstSymbol" = "_" ]; then
+ stowNoFolding
+ else
+ stowDir
+ fi
+ done
+
+}
+
+stowUpdateNoFoldingPkg () {
+
+ for package in ${stowPkgs[@]}
+ do
+ packageFirstSymbol=${package:0:1}
+
+ if [ "$packageFirstSymbol" = "_" ]; then
+ stowNoFolding
+ fi
+ done
+
+}
+
+readArrays
+stowPkgExtract