From a4a700c8a424f2e2467517096182a3a3aaa9b43c Mon Sep 17 00:00:00 2001 From: blueingreen68 Date: Mon, 22 Jan 2024 13:33:26 +0500 Subject: unarchived --- ARCHIVED/README.md | 8 ++ ARCHIVED/install.sh | 51 ++++++++++ ARCHIVED/library/cloneDotfiles.sh | 34 +++++++ ARCHIVED/library/createDefaultDirs.sh | 9 ++ ARCHIVED/library/setupPkg.sh | 7 ++ ARCHIVED/library/setupPkg/setupPkgPipx.sh | 15 +++ ARCHIVED/library/setupPkg/setupPkgYay.sh | 30 ++++++ ARCHIVED/library/setupPkgPipx.sh | 15 +++ ARCHIVED/library/setupPkgYay.sh | 30 ++++++ ARCHIVED/library/stow/stow.sh | 65 ++++++++++++ ARCHIVED/library/stow/stowAddPkg.sh | 125 ++++++++++++++++++++++++ ARCHIVED/library/stow/stowPkgExtract.sh | 54 ++++++++++ ARCHIVED/library/stow/stowRewriteAbortedPkg.sh | 64 ++++++++++++ ARCHIVED/library/stow/stowUpdateNoFoldingPkg.sh | 18 ++++ ARCHIVED/patternsHomeDir.txt | 16 +++ ARCHIVED/pkglists/pipxpkglist.txt | 3 + ARCHIVED/pkglists/pkglist.txt | 119 ++++++++++++++++++++++ ARCHIVED/pkglists/pkglistnote.txt | 117 ++++++++++++++++++++++ 18 files changed, 780 insertions(+) create mode 100644 ARCHIVED/README.md create mode 100755 ARCHIVED/install.sh create mode 100755 ARCHIVED/library/cloneDotfiles.sh create mode 100644 ARCHIVED/library/createDefaultDirs.sh create mode 100644 ARCHIVED/library/setupPkg.sh create mode 100755 ARCHIVED/library/setupPkg/setupPkgPipx.sh create mode 100755 ARCHIVED/library/setupPkg/setupPkgYay.sh create mode 100755 ARCHIVED/library/setupPkgPipx.sh create mode 100755 ARCHIVED/library/setupPkgYay.sh create mode 100644 ARCHIVED/library/stow/stow.sh create mode 100644 ARCHIVED/library/stow/stowAddPkg.sh create mode 100644 ARCHIVED/library/stow/stowPkgExtract.sh create mode 100644 ARCHIVED/library/stow/stowRewriteAbortedPkg.sh create mode 100644 ARCHIVED/library/stow/stowUpdateNoFoldingPkg.sh create mode 100644 ARCHIVED/patternsHomeDir.txt create mode 100644 ARCHIVED/pkglists/pipxpkglist.txt create mode 100644 ARCHIVED/pkglists/pkglist.txt create mode 100644 ARCHIVED/pkglists/pkglistnote.txt (limited to 'ARCHIVED') diff --git a/ARCHIVED/README.md b/ARCHIVED/README.md new file mode 100644 index 0000000..5e21935 --- /dev/null +++ b/ARCHIVED/README.md @@ -0,0 +1,8 @@ + +# ARCHISOFILES + +Репозиторий с моими актуальным файлами `{pkglist,pkglistnote,pkglistpipx}.txt` и установочником `install.sh`. + +# ARCHIVED DIR + +В ней находится старые файлы репозитория, на которые когда-нибудь появятся время. diff --git a/ARCHIVED/install.sh b/ARCHIVED/install.sh new file mode 100755 index 0000000..2297c94 --- /dev/null +++ b/ARCHIVED/install.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +dirArchIsoFiles=$HOME/archisofiles +dotfiles=$HOME/.dotfiles +abortedPkgFile=$HOME/.dotfiles/abortedPkg.txt +patternsHomeDir=$HOME/archisofiles/patternsHomeDir.txt +counterAbortedPkg=0 + +setStatusE () { + + if [ "$1" = true ]; then + set +e + else + set -e + fi + +} + +startSetup () { + select event in "Setup packages" "Dotfiles setup" "Create default home dirs"; do + case $event in + "Setup packages") + + select installer in "yay" "pipx"; do + source "$dirArchIsoFiles"/library/setupPkg.sh "$installer" + break + done + + break + ;; + + "Dotfiles setup") + sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply blueingreen68 + ;; + + "Create default home dirs") + source "$dirArchIsoFiles"/library/createDefaultDirs.sh + + break + ;; + + *) + echo "Invalid option... Выход" + exit + ;; + esac + done +} + +setStatusE false +startSetup diff --git a/ARCHIVED/library/cloneDotfiles.sh b/ARCHIVED/library/cloneDotfiles.sh new file mode 100755 index 0000000..2589c58 --- /dev/null +++ b/ARCHIVED/library/cloneDotfiles.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +getKdbxFile () { + read -r passwordFileLink < <(yadisk-direct https://yadi.sk/d/o4TMFnHFobxTsw) + + wget "$passwordFileLink" -O "$dirArchIsoFiles"/Passwords.kdbx +} + +openKeepass () { + setStatusE true + + keepassxc-cli clip "$dirArchIsoFiles"/Passwords.kdbx github 0 -a token-cli +} + +cloneDotfiles () { + getKdbxFile + + while : + do + openKeepass + + if [ $? -eq 0 ]; then + setStatusE false + echo -e "Пароль скопирован!\n" + break + fi + done + + cd + git clone https://blueingreen68@github.com/blueingreen68/.dotfiles + wl-copy -c +} + +cloneDotfiles diff --git a/ARCHIVED/library/createDefaultDirs.sh b/ARCHIVED/library/createDefaultDirs.sh new file mode 100644 index 0000000..0c0f320 --- /dev/null +++ b/ARCHIVED/library/createDefaultDirs.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +createDefaultDirs () { + mkdir --verbose $HOME/{downloads,images,projects,torrents,video,shotcut,music} + mkdir --verbose $HOME/video/{all-videos,translated-videos} + echo "✅ Папки в домашней директории созданы!" +} + +createDefaultDirs diff --git a/ARCHIVED/library/setupPkg.sh b/ARCHIVED/library/setupPkg.sh new file mode 100644 index 0000000..4fa1266 --- /dev/null +++ b/ARCHIVED/library/setupPkg.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ "$1" = "pipx" ]; then + source "$dirArchIsoFiles"/library/setupPkgPipx.sh +elif [ "$1" = "yay" ]; then + source "$dirArchIsoFiles"/library/setupPkgYay.sh +fi diff --git a/ARCHIVED/library/setupPkg/setupPkgPipx.sh b/ARCHIVED/library/setupPkg/setupPkgPipx.sh new file mode 100755 index 0000000..e9a38ee --- /dev/null +++ b/ARCHIVED/library/setupPkg/setupPkgPipx.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +setupPkgPipx () { + readarray -t pipxPkg < <(cat "$dirArchIsoFiles"/pkglists/pipxpkglist.txt) + + for pkg in ${pipxPkg[@]}; do + pipx install "$pkg" + done + + pipx ensurepath + + echo "✅ Готово" +} + +setupPkgPipx diff --git a/ARCHIVED/library/setupPkg/setupPkgYay.sh b/ARCHIVED/library/setupPkg/setupPkgYay.sh new file mode 100755 index 0000000..0bcc293 --- /dev/null +++ b/ARCHIVED/library/setupPkg/setupPkgYay.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +setupPkgYay () { + cd + git clone https://aur.archlinux.org/yay + + cd $HOME/yay + makepkg -isr + + cd + rm -rf $HOME/yay + + if [ "$1" = "pc" ]; then + yay -S --needed - < "$dirArchIsoFiles"/pkglists/pkglist.txt + elif [ "$1" = "notebook" ]; then + yay -S --needed - < "$dirArchIsoFiles"/pkglists/pkglistnote.txt + fi +} + +select platform in "pc" "notebook"; do + + if [ "$platform" = "" ]; then + echo "Invalid option" + break + else + setupPkgYay "$platform" + fi + + echo "✅ Готово" +done diff --git a/ARCHIVED/library/setupPkgPipx.sh b/ARCHIVED/library/setupPkgPipx.sh new file mode 100755 index 0000000..e9a38ee --- /dev/null +++ b/ARCHIVED/library/setupPkgPipx.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +setupPkgPipx () { + readarray -t pipxPkg < <(cat "$dirArchIsoFiles"/pkglists/pipxpkglist.txt) + + for pkg in ${pipxPkg[@]}; do + pipx install "$pkg" + done + + pipx ensurepath + + echo "✅ Готово" +} + +setupPkgPipx diff --git a/ARCHIVED/library/setupPkgYay.sh b/ARCHIVED/library/setupPkgYay.sh new file mode 100755 index 0000000..0bcc293 --- /dev/null +++ b/ARCHIVED/library/setupPkgYay.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +setupPkgYay () { + cd + git clone https://aur.archlinux.org/yay + + cd $HOME/yay + makepkg -isr + + cd + rm -rf $HOME/yay + + if [ "$1" = "pc" ]; then + yay -S --needed - < "$dirArchIsoFiles"/pkglists/pkglist.txt + elif [ "$1" = "notebook" ]; then + yay -S --needed - < "$dirArchIsoFiles"/pkglists/pkglistnote.txt + fi +} + +select platform in "pc" "notebook"; do + + if [ "$platform" = "" ]; then + echo "Invalid option" + break + else + setupPkgYay "$platform" + fi + + echo "✅ Готово" +done diff --git a/ARCHIVED/library/stow/stow.sh b/ARCHIVED/library/stow/stow.sh new file mode 100644 index 0000000..2a37175 --- /dev/null +++ b/ARCHIVED/library/stow/stow.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +stowReadArrays () { + readarray -t stowPkgs < <(ls -l "$dotfiles" | grep '^d' | awk '{ print $9 }') +} + +abortedPkg () { + if [ "$counterAbortedPkg" -gt 0 ]; then + + echo "Количество нераспакованных пакетов: $counterAbortedPkg" + echo "Список находится в ~/.dotfiles/abortedPkg.txt" + + elif [ "$1" = "delete" ] && [ -e "$abortedPkgFile" ]; then + + rm -i "$abortedPkgFile" + + fi +} + +startStow () { + + if [ -d "$dotfiles" ]; then + echo "✅ Папка .dotfiles есть" + else + source "$dirArchIsoFiles"/library/cloneDotfiles.sh + fi + + abortedPkg "delete" + stowReadArrays + + select event in "Stow extract" "Stow update" "Stow add" "Stow adopt" "Back"; do + case "$event" in + "Stow extract") + source "$dirArchIsoFiles"/library/stow/stowPkgExtract.sh + break 2 + ;; + + "Stow update") + source "$dirArchIsoFiles"/library/stow/stowUpdateNoFoldingPkg.sh + break 2 + ;; + + "Stow add") + source "$dirArchIsoFiles"/library/stow/stowAddPkg.sh + break 2 + ;; + + "Stow adopt") + source "$dirArchIsoFiles"/library/stow/stowRewriteAbortedPkg.sh + break 2 + ;; + + "Back") + break + ;; + + *) + echo "Invalid option. Выбери один из предложенных вариантов!" + esac + done + + abortedPkg +} + +startStow diff --git a/ARCHIVED/library/stow/stowAddPkg.sh b/ARCHIVED/library/stow/stowAddPkg.sh new file mode 100644 index 0000000..aaf3687 --- /dev/null +++ b/ARCHIVED/library/stow/stowAddPkg.sh @@ -0,0 +1,125 @@ +#!/bin/bash + +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 + +} + +stowCreatePkgDir () { + + if [ "$typePackageDir" = "full" ]; then + + mkdir "$dotfiles"/"$namePackage" + packageDir="$dotfiles"/"$namePackage" + + elif [ "$typePackageDir" = "noFolding" ]; then + + mkdir "$dotfiles"/"_$namePackage" + packageDir="$dotfiles"/"_$namePackage" + + fi +} + +selectFile () { + + echo "Выбери оригинальный файл или директорию для копирования:" + + select file in ${files[@]}; do + stowCreatePkgDir + + if [ -d "$file" ]; then + + 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 + + cp -r "$file" "$packageDir" + + fi + + return + done +} + +stowAddPkg () { + 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 + + if [ "$choiseDir" = "home" ] || [ "$choiseDir" = "config" ]; then + selectDir "$choiseDir" + selectType + selectFile + else + echo "Invalid option. Выбери один из предложенных вариантов!" + fi + + done + + cd "$dotfiles" + git add "$packageName" + + echo "Пакет добавлен!" +} + +stowAddPkg diff --git a/ARCHIVED/library/stow/stowPkgExtract.sh b/ARCHIVED/library/stow/stowPkgExtract.sh new file mode 100644 index 0000000..ce4794d --- /dev/null +++ b/ARCHIVED/library/stow/stowPkgExtract.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +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 +} + +stowPkgExtract diff --git a/ARCHIVED/library/stow/stowRewriteAbortedPkg.sh b/ARCHIVED/library/stow/stowRewriteAbortedPkg.sh new file mode 100644 index 0000000..c73a3e5 --- /dev/null +++ b/ARCHIVED/library/stow/stowRewriteAbortedPkg.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +selectAnswer () { + echo "Перезаписать оригинальный пакет?: " + select answer in Yes No; do + case "$answer" in + "Yes") + if [ "$1" = "no-folding" ]; then + stow -d "$dotfiles" --adopt --no-folding -vt ~ "$package" + else + stow -d "$dotfiles" --adopt -vt ~ "$package" + fi + + git checkout . + break + ;; + + "No") + echo "Выход..." + exit + + ;; + *) + echo "Invalid option. Выбери один из предложенных вариантов!" + esac + done +} + +stowRewriteAbortedPkg () { + select package in ${stowPkgs[@]}; do + + setStatusE true + + packageFirstSymbol=${package:0:1} + + if [ "$packageFirstSymbol" = "_" ]; then + + stow -d "$dotfiles" --no-folding -nvt ~ "$package" + + if [ $? -eq 1 ]; then + + setStatusE false + selectAnswer "no-folding" + + fi + + else + + stow -d "$dotfiles" -nvt ~ "$package" + + if [ $? -eq 1 ]; then + + setStatusE false + selectAnswer + + fi + fi + + echo "Файл успешно перезаписан!" + return + done +} + +stowRewriteAbortedPkg diff --git a/ARCHIVED/library/stow/stowUpdateNoFoldingPkg.sh b/ARCHIVED/library/stow/stowUpdateNoFoldingPkg.sh new file mode 100644 index 0000000..4144bd3 --- /dev/null +++ b/ARCHIVED/library/stow/stowUpdateNoFoldingPkg.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +source "$dirArchIsoFiles"/stowPkgExtract.sh + +stowUpdateNoFoldingPkg () { + + for package in ${stowPkgs[@]} + do + packageFirstSymbol=${package:0:1} + + if [ "$packageFirstSymbol" = "_" ]; then + stowNoFolding + fi + done + +} + +stowUpdateNoFoldingPkg diff --git a/ARCHIVED/patternsHomeDir.txt b/ARCHIVED/patternsHomeDir.txt new file mode 100644 index 0000000..eda7c7d --- /dev/null +++ b/ARCHIVED/patternsHomeDir.txt @@ -0,0 +1,16 @@ +^[l-] +.config +.dotfiles +.ssh +.local +.cache +archisofiles +Downloads +projects +video +torrents +shotcut +VirtualBox +Yandex.Disk +Music +images diff --git a/ARCHIVED/pkglists/pipxpkglist.txt b/ARCHIVED/pkglists/pipxpkglist.txt new file mode 100644 index 0000000..1504ccf --- /dev/null +++ b/ARCHIVED/pkglists/pipxpkglist.txt @@ -0,0 +1,3 @@ +wldhx-yadisk-direct +youtube-transcript-api +yq diff --git a/ARCHIVED/pkglists/pkglist.txt b/ARCHIVED/pkglists/pkglist.txt new file mode 100644 index 0000000..8cd3b7d --- /dev/null +++ b/ARCHIVED/pkglists/pkglist.txt @@ -0,0 +1,119 @@ +alacarte +audacity +awesome-terminal-fonts +base +base-devel +bc +btrfs-progs +chezmoi +deluge +efibootmgr +firefox +font-manager +foot +freeplane +git +github-cli +glow +gnome-disk-utility-git +google-chrome +gparted +gptfdisk +grim +gst-plugin-pipewire +gvim +habito +htop +imagemagick +intel-ucode +keepassxc +khal +kompare +libpulse +libreoffice-still-ru +libsixel +linux +linux-firmware +mako +man-db +man-pages-ru +mediainfo +mpv +nano +nautilus +navi +neofetch +neovim +network-manager-applet +networkmanager +nodejs-lts-hydrogen +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +npm +ntfs-3g +obs-studio +obsidian +otf-font-awesome +pavucontrol +pdfarranger +peaclock +pipewire +pipewire-alsa +pipewire-jack +pipewire-pulse +poppler +python-pip +python-pipx +qbittorrent +qt5-wayland +qt6-wayland +qutebrowser +refind +ripgrep +shellcheck +shotcut +slurp +socat +sof-firmware +stow +sudo +sway +swaybg +swaylock +sworkstyle +tango-icon-theme +telegram-desktop +ttf-font-awesome +ttf-jetbrains-mono +ttf-joypixels +ttf-nerd-fonts-symbols +udiskie +unzip +ventoy-bin +vifm +vimiv +virtualbox +virtualbox-ext-oracle +virtualbox-guest-iso +virtualbox-host-modules-arch +vot-cli-git +waybar +wayshot +webp-pixbuf-loader +wget +wireplumber +wl-clipboard +wofi +wofi-emoji +xdg-desktop-portal-wlr +xorg-xwayland +yandex-disk +yandex-disk-indicator +yay +yewtube-git +zathura +zathura-djvu +zathura-pdf-mupdf +zip +zram-generator diff --git a/ARCHIVED/pkglists/pkglistnote.txt b/ARCHIVED/pkglists/pkglistnote.txt new file mode 100644 index 0000000..a3cb034 --- /dev/null +++ b/ARCHIVED/pkglists/pkglistnote.txt @@ -0,0 +1,117 @@ +alacarte +audacity +awesome-terminal-fonts +base +base-devel +bc +blueman +bluez +bluez-utils +chezmoi +deluge +firefox +font-manager +foot +freeplane +git +github-cli +glow +gnome-disk-utility-git +google-chrome +gparted +gptfdisk +grim +gst-plugin-pipewire +habito +htop +imagemagick +intel-ucode +keepassxc +khal +kompare +libreoffice-still-ru +libsixel +linux +linux-firmware +mako +man-db +man-pages-ru +mediainfo +mpv +nano +nautilus +navi +neofetch +neovim +network-manager-applet +networkmanager +nodejs-lts-hydrogen +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +npm +ntfs-3g +obs-studio +obsidian +otf-font-awesome +pavucontrol +pdfarranger +peaclock +pipewire-alsa +pipewire-pulse +poppler +powerkit +python-pip +python-pipx +qbittorrent +qt5-wayland +qt6-wayland +qutebrowser +refind +ripgrep +shellcheck +shotcut +slurp +socat +sof-firmware +stow +sudo +sway +swaybg +swaylock +sworkstyle +tango-icon-theme +telegram-desktop +ttf-font-awesome +ttf-jetbrains-mono +ttf-joypixels +ttf-nerd-fonts-symbols +udiskie +unzip +ventoy-bin +vi +vifm +vimiv +virtualbox +virtualbox-ext-oracle +virtualbox-guest-iso +virtualbox-host-modules-arch +vot-cli-git +waybar +wayshot +webp-pixbuf-loader +wget +wl-clipboard +wofi +wofi-emoji +xdg-desktop-portal-wlr +xorg-xwayland +yandex-disk +yandex-disk-indicator +yay +yewtube-git +zathura +zathura-djvu +zathura-pdf-mupdf +zip +zram-generator -- cgit