Dotfiles/setup/modules/Desktop-Enviroments/sway.sh

75 lines
2.7 KiB
Bash

#!/bin/bash
set -euo pipefail
# Install packages
echo "Installing required packages..."
sudo pacman -Syu --noconfirm --needed \
alacritty base base-devel brightnessctl btop btrfs-progs cmatrix dmenu \
fastfetch firefox foot git greetd-tuigreet glfw gnu-netcat grim grub \
gst-plugin-pipewire hollywood htop imagemagick iwd libpulse \
libva-intel-driver libva-mesa-driver lightdm lightdm-gtk-greeter \
linux linux-firmware lynx micro nano networkmanager nmap openssh \
pavucontrol pipewire pipewire-alsa pipewire-jack pipewire-pulse \
slurp smartmontools sway swaybg swayidle swaylock \
ttf-jetbrains-mono vim vulkan-intel vulkan-radeon waybar wget \
wireless_tools wireplumber wireshark-qt wofi wpa_supplicant \
xdg-utils xf86-video-amdgpu xf86-video-ati xf86-video-nouveau \
xf86-video-vmware xorg-server xorg-xinit xorg-xwayland \
yazi zram-generator zsh zsh-completions
# yay
if ! command -v yay &>/dev/null; then
echo "Installing yay..."
mkdir -p ~/install-tmp
git clone https://aur.archlinux.org/yay.git ~/install-tmp/yay
cd ~/install-tmp/yay
makepkg -si --noconfirm
cd ~
else
echo "yay already installed."
fi
# Services
echo "Enabling NetworkManager..."
sudo systemctl enable NetworkManager.service
# Desktop env configs
echo "Linking desktop environment configs..."
ln -sf ~/Dotfiles/desktopenvs/sway/sway ~/.config/sway
ln -sf ~/Dotfiles/desktopenvs/sway/alacritty ~/.config/alacritty
# Shell
echo "Setting up zsh..."
chsh -s /usr/bin/zsh
echo "Installing Starship..."
curl -sS https://starship.rs/install.sh | sh -s -- --yes
echo "Installing oh-my-zsh..."
RUNZSH=no CHSH=no sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
echo "Installing oh-my-zsh plugins..."
ZSH_CUSTOM="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
"$ZSH_CUSTOM/plugins/zsh-syntax-highlighting"
git clone https://github.com/zsh-users/zsh-autosuggestions \
"$ZSH_CUSTOM/plugins/zsh-autosuggestions"
# greetd config
sudo cp -f ~/Dotfiles/desktopenvs/hyprland/greetd-tuigreet/config.toml /etc/greetd/config.toml
sudo systemctl enable greetd.service
# Dotfiles
echo "Linking dotfiles..."
ln -sf ~/Dotfiles/colors.conf ~/.config/colors.conf
rm -f ~/.bashrc ~/.zshrc
ln -sf ~/Dotfiles/.bashrc ~/.bashrc
ln -sf ~/Dotfiles/.zshrc ~/.zshrc
ln -sf ~/Dotfiles/starship.toml ~/.config/starship.toml
ln -sf ~/Dotfiles/micro/ ~/.config/micro
ln -sf ~/Dotfiles/yazi/ ~/.config/yazi
mkdir -p ~/.config/spotify-tui
ln -sf ~/Dotfiles/spotify-tui/config.yml ~/.config/spotify-tui/config.yml
echo "=== Sway installation complete. Reboot to start. ==="