diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..595c183 --- /dev/null +++ b/test.sh @@ -0,0 +1,148 @@ +#!/usr/bin/env bash + +set -e + +USER_NAME="apulkin" + +FIREFOX_KEYRING="/etc/apt/keyrings/packages.mozilla.org.asc" +MOZILLA_LIST="/etc/apt/sources.list.d/mozilla.list" +MOZILLA_PREF="/etc/apt/preferences.d/mozilla" +KEYRING_URL="https://packages.mozilla.org/apt/repo-signing-key.gpg" + +PACKAGES=( + sudo sysstat guvcview net-tools thunderbird nnn build-essential + remmina remmina-plugin-python remmina-plugin-x2go remmina-plugin-rdp + qbittorrent mc vlc wireguard wireguard-tools cifs-utils autofs + open-iscsi libavcodec-extra smbldap-tools network-manager-l2tp tilix + unzip keepassxc default-jdk icedtea-netx sshpass smplayer gimp + wireshark mplayer kdeconnect pdfarranger pwgen curl evolution mpv + simplescreenrecorder iftop debian-keyring p7zip qt6-base-dev-tools + manpages-ru network-manager-openvpn gwenview libgtk2.0-0 + printer-driver-splix isoimagewriter kdiskmark krita openshot-qt + shotcut trippy linux-headers-$(uname -r) desktop-file-utils + apt-transport-https git syncthing kdenlive +) + +base() { + sudo usermod -aG sudo "$USER_NAME" + sudo chown "$USER_NAME":root /opt/ +} + +packages() { + sudo apt update + sudo apt install -y "${PACKAGES[@]}" +} + +firefox() { + echo "Adding Mozilla signing key..." + sudo install -d -m 0755 /etc/apt/keyrings + wget -q "$KEYRING_URL" -O- | sudo tee "$FIREFOX_KEYRING" >/dev/null + + echo "Adding Mozilla repo..." + echo "deb [signed-by=$FIREFOX_KEYRING] https://packages.mozilla.org/apt mozilla main" \ + | sudo tee "$MOZILLA_LIST" >/dev/null + + echo -e "Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000" \ + | sudo tee "$MOZILLA_PREF" >/dev/null + + sudo apt update + sudo apt install -y firefox firefox-l10n-ru +} + +qtfix() { + sudo ln -sf /usr/bin/qtpaths6 /usr/bin/qtpaths +} + +winbox() { + wget -O /tmp/WinBox_Linux.zip \ + https://download.mikrotik.com/routeros/winbox/4.1/WinBox_Linux.zip + + sudo mkdir -p /opt/winbox + sudo unzip -o /tmp/WinBox_Linux.zip -d /opt/winbox/ + sudo ln -sf /opt/winbox/WinBox /usr/bin/WinBox +} + +matrix() { + sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg \ + https://packages.element.io/debian/element-io-archive-keyring.gpg + + echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" \ + | sudo tee /etc/apt/sources.list.d/element-io.list + + sudo apt update + sudo apt install -y element-desktop +} + +brave() { + curl -fsS https://dl.brave.com/install.sh | sh +} + +codium() { + wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \ + | gpg --dearmor \ + | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg + + echo 'deb [signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg] https://download.vscodium.com/debs vscodium main' \ + | sudo tee /etc/apt/sources.list.d/vscodium.list + + sudo apt update + sudo apt install -y codium +} + +syncthing() { + systemctl --user enable --now syncthing.service +} + +telegram() { + wget -O /tmp/telegram.tar.xz https://telegram.org/dl/desktop/linux + tar -xf /tmp/telegram.tar.xz -C /tmp + sudo mv /tmp/Telegram /opt/telegram + sudo ln -sf /opt/telegram/Telegram /usr/bin/telegram +} + +menu() { + PS3="Выбери действие: " + + options=( + "base" + "packages" + "firefox" + "qtfix" + "winbox" + "matrix" + "brave" + "codium" + "syncthing" + "telegram" + "all" + "exit" + ) + + select opt in "${options[@]}"; do + case "$opt" in + base|packages|firefox|qtfix|winbox|matrix|brave|codium|syncthing|telegram) + "$opt" + ;; + all) + base + packages + firefox + qtfix + winbox + matrix + brave + codium + syncthing + telegram + ;; + exit) + break + ;; + *) + echo "Неверный выбор" + ;; + esac + done +} + +menu \ No newline at end of file