#!/bin/bash

set -e

if [ "$(id -u)" -eq 0 ]; then echo "Do not run as root." >&2; exit 1; fi

sudo pacman -Syu
sudo pacman --needed -S \
	alacritty \
	base-devel \
	bat \
	bluez \
	bluez-utils \
	brightnessctl \
	curl \
	difftastic \
	dust \
	ddcutil \
	exa \
	fd \
	fish \
	fuzzel \
	git \
	git-delta \
	gnome \
	grim \
	htop \
	hyprland \
	hyprpaper \
	i2c-tools \
	lazygit \
	luarocks \
	man-db man-pages \
	neovim \
	nerd-fonts \
	niri \
	noto-fonts \
	noto-fonts-emoji \
	noto-fonts-extra \
	nushell \
	openbsd-netcat \
	pamixer \
	qt5ct \
	qt5-wayland \
	qt6-wayland \
	ripgrep \
	rustup \
	sad \
	starship \
	swayidle \
	swaylock \
	swaync \
	tig \
	tree-sitter tree-sitter-cli \
	vim \
	vivid \
	waybar \
	wget \
	wl-clipboard \
	xdg-desktop-portal-gtk \
	zathura \
	zoxide

rustup default stable

if ! command -v paru &> /dev/null; then
	echo "`paru` not found, installing..."
	sleep 1

	cd "$(mktemp -d)"
	git clone https://aur.archlinux.org/paru.git
	cd paru
	makepkg -si
fi

paru -S wdisplays eww

cargo install --locked --git https://git.nubo.sh/hulthe/wmutils.git
cargo install --locked --git https://git.nubo.sh/hulthe/lockscreen-blur.git
cargo install --locked --git https://git.nubo.sh/hulthe/volume_indicator.git

# cargo binstall
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash

cargo binstall cargo-watch
cargo binstall cargo-get
