SHELL := /bin/bash

USER_NAME := apulkin

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

.PHONY: all base packages firefox winbox matrix brave codium syncthing telegram qtfix

all: base packages firefox qtfix winbox matrix brave codium syncthing telegram

base:
	sudo usermod -aG sudo $(USER_NAME)
	sudo chown $(USER_NAME):root /opt/

packages:
	sudo apt update
	sudo apt install -y $(PACKAGES)

firefox:
	sudo install -d -m 0755 /etc/apt/keyrings
	wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | \
		sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

	gpg -n -q --import --import-options import-show \
		/etc/apt/keyrings/packages.mozilla.org.asc | \
	awk '/pub/{getline; gsub(/^ +| +$$/,""); \
	if($$0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") \
	print "\nThe key fingerprint matches ("$$0").\n"; \
	else \
	print "\nVerification failed: the fingerprint ("$$0") does not match the expected one.\n"}'

	echo "Types: deb\nURIs: https://packages.mozilla.org/apt\nSuites: mozilla\nComponents: main\nSigned-By: /etc/apt/keyrings/packages.mozilla.org.asc" | \
		sudo tee /etc/apt/sources.list.d/mozilla.sources

	sudo apt-get update
	sudo apt-get 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
