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:
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

	@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 APT repository..."
	echo "deb [signed-by=$(FIREFOX_KEYRING)] https://packages.mozilla.org/apt mozilla main" | sudo tee $(MOZILLA_LIST) > /dev/null
	@echo "Configuring apt preferences to prioritize Mozilla..."
	echo "Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000" | sudo tee $(MOZILLA_PREF) > /dev/null
	@echo "Updating package lists..."
	sudo apt-get update
	@echo "Installing Firefox..."
	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
