Skip to content

Instantly share code, notes, and snippets.

@ae5259
Created March 8, 2025 02:09
Show Gist options
  • Save ae5259/e8f08d386fa4dab5c28c7937a713027f to your computer and use it in GitHub Desktop.
Save ae5259/e8f08d386fa4dab5c28c7937a713027f to your computer and use it in GitHub Desktop.
install.sh
#!/bin/bash
# EndeavourOS Package Installer Script
# Created on March 8, 2025
echo "Starting installation of packages..."
# Update system first
sudo pacman -Syyu
# Install base development packages
sudo pacman -S --needed base-devel reflector
# Install yay (EndeavourOS package manager - alternative to paru)
if ! command -v yay &> /dev/null; then
echo "Installing yay..."
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd ..
rm -rf yay
fi
# Install packages from official repositories
echo "Installing packages from official repositories..."
sudo pacman -S --needed \
fish \
github-cli \
gnome gnome-extra gdm \
nvidia nvidia-utils nvidia-settings nvidia-prime \
optimus-manager optimus-manager-qt \
playerctl \
python-pip python-wheel python-setuptools \
tlp \
tree \
vim \
xdotool
# Install AUR packages
echo "Installing packages from AUR..."
yay -S --needed \
alacritty \
bat \
brave-bin \
btop \
discord \
figma-linux \
firefox \
flameshot \
neofetch \
onefetch \
spotify \
spicetify-cli \
starship \
steam \
telegram-desktop \
tilix \
ttf-firacode \
ttf-firacode-nerd \
ttf-iosevka \
ttf-jetbrains-mono-nerd \
visual-studio-code-bin
# Setup development environments
echo "Setting up development environments..."
# Fish shell setup
if command -v fish &> /dev/null; then
echo "Setting up fish shell..."
# Set fish as default shell
chsh -s $(which fish)
# Remove fish greeting
fish -c "set -U fish_greeting"
# Add local bin to PATH
fish -c "fish_add_path -U $HOME/.local/bin"
fi
# Install starship prompt
if command -v starship &> /dev/null; then
echo "Setting up starship prompt..."
starship preset nerd-font-symbols -o ~/.config/starship.toml
fi
# Install Rust
echo "Installing Rust..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install Cargo utilities
if command -v cargo &> /dev/null; then
echo "Installing Cargo utilities..."
# Install cargo-binstall first
cargo install cargo-binstall
# Then use it to install other tools
cargo binstall -y bat onefetch
fi
# Install Deno
echo "Installing Deno..."
curl -fsSL https://deno.land/install.sh | sh
# Install deployctl for Deno Deploy
if command -v deno &> /dev/null; then
echo "Installing deployctl..."
deno install -gArf jsr:@deno/deployctl
fi
# Install Bun
echo "Installing Bun..."
curl -fsSL https://bun.sh/install | bash
# Install Zig compiler
echo "Setting up Zig..."
mkdir -p ~/compilers/zig
cd ~/compilers/zig
curl -L https://ziglang.org/builds/zig-linux-x86_64-0.14.0-dev.3445+6c3cbb0c8.tar.xz -o zig.tar.xz
tar -xf zig.tar.xz
mv zig-linux-x86_64-0.14.0-dev.3445+6c3cbb0c8/ zig
echo "Add the following to your PATH: $HOME/compilers/zig/zig"
# Install Haskell
echo "Installing Haskell..."
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
# Setup Spicetify
if command -v spicetify &> /dev/null; then
echo "Setting up Spicetify..."
sudo chmod a+wr /opt/spotify
sudo chmod a+wr /opt/spotify/Apps -R
spicetify backup apply
fi
# Setup NVIDIA Optimus
if command -v optimus-manager &> /dev/null; then
echo "Setting up NVIDIA Optimus..."
sudo systemctl enable optimus-manager
sudo systemctl start optimus-manager
fi
# Setup display manager
echo "Setting up display manager..."
sudo systemctl disable lightdm
sudo systemctl enable gdm
# Create projects directory
mkdir -p ~/projects
echo "Installation complete! Please reboot your system."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment