#!/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..." cp ~/Dotfiles/colors.conf ~/.config/colors.conf cp ~/Dotfiles/apply-theme.sh ~/apply-theme.sh chmod +x ~/apply-theme.sh 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. ==="