diff --git a/.stow-local-ignore b/.stow-local-ignore index d59f380..062cac2 100644 --- a/.stow-local-ignore +++ b/.stow-local-ignore @@ -2,3 +2,4 @@ README.md assets system +install.sh diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..2160940 --- /dev/null +++ b/install.sh @@ -0,0 +1,165 @@ +#!/bin/env bash + +pkg_utils=( + "fd" + "ffmpegthumbnailer" + "foot" + "fuzzel" + "fzf" + "gammastep" + "ghostscript" + "gobject-introspection" + "gparted" + "grub" + "gvfs" + "gvfs-mtp" + "imagemagick" + "imlib2" + "jq" + "kanshi" + "lf" + "libnotify" + "libreoffice-fresh" + "lua" + "lvm2" + "man-db" + "meson" + "mpc" + "mpd" + "mpd-mpris" + "mpv" + "ncdu" + "ncmpcpp" + "ntfs-3g" + "nwg-look" + "pacman-contrib" + "pamixer" + "pavucontrol" + "pcmanfm" + "pipewire" + "pipewire-pulse" + "progress" + "python-gobject" + "python-pip" + "python-virtualenv" + "qpdf" + "reflector" + "ripgrep" + "rsync" + "sshfs" + "stow" + "tesseract" + "torbrowser-launcher" + "transmission-cli" + "noto-fonts" + "noto-fonts-cjk" + "noto-fonts-emoji" + "ttf-jetbrains-mono-nerd" + "tree" + "unzip" + "waybar" + "wget" + "woff2-font-awesome" + "wtype" + "xarchiver" + "xdg-user-dirs" + "yt-dlp" + "zathura" + "zathura-pdf-mupdf" + "zip" + "zola" + "zsh" + "zsh-autosuggestions" +) + +pkg_dev_tools=( + "git" + "neovim" + "platformio-core" + "tmux" + "nodejs" + "lazygit" +) + +pkg_optional=( + "keepassxc" + "obsidian" + "syncthing" + "newsboat" + "obs-studio" + "telegram-desktop" +) + +pkg_nvidia=( + "nvidia" + "nvidia-utils" +) + +pkg_desktop=( + "hypridle" + "hyprland" + "hyprlock" + "hyprpaper" + "hyprpicker" + "hyprpolkitagent" + "hyprshot" + "xdg-desktop-portal-hyprland" + "swaync" + "waybar" +) + +pkg_aur=( + "envycontrol" + "htop-vim" + "jmtpfs" + "keepmenu" + "keyd-git" + "librewolf-bin" + "python-pywal16" + "tokyonight-gtk-theme-git" + "zsh-fast-syntax-highlighting-git" +) + + +# Install necessary desktop packages +sudo pacman -S --needed "${pkg_desktop[@]}" + +# install packages +sudo pacman -S --needed "${pkg_utils[@]}" + +# Install dev tools +read -rp "Do you wish to development tools? [y/n]" install_dev_tools +if [[ $install_dev_tools == y ]]; then + sudo pacman -S --needed "${pkg_dev_tools[@]}" +fi + +# Install optional packages +read -rp "Do you wish to install optional packages? [y/n]" install_optional_pkg +if [[ $install_optional_pkg == y ]]; then + sudo pacman -S --needed "${pkg_optional[@]}" +fi + +# Install nvidia drivers +read -rp "Do you wish to install Nvidia drivers? [y/n]" install_nvidia_drivers +if [[ $install_nvidia_drivers == y ]]; then + sudo pacman -S --needed "${pkg_nvidia[@]}" +fi + + +# Install aur packages +read -rp "Do you wish to aur packages? [y/n]" install_aur_pkg +# Install paru if it isn't already installed +if [[ $install_aur_pkg == y ]]; then + if ! command -v paru >/dev/null 2>&1; then + echo "Installing paru..." + git clone https://aur.archlinux.org/paru-bin.git + cd paru-bin + makepkg -sri + cd .. + rm -rf paru-bin + else + echo "Skipping paru (already in PATH)" + fi +# Install aur packages +paru -S --needed "${pkg_aur[@]}" +fi