aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2025-12-09 14:45:50 +0530
committerkrolxon <krolyxon@tutanota.com>2025-12-09 14:45:50 +0530
commit0dfb61b9fb733b582cae5e1270afb12bc7b2c523 (patch)
tree95c89bf0a909a006b3b1cd6312bdf57c4e93acfd
parentfebdec0d6c4c81bf052bbfeb063926cf9f3ba12c (diff)
add install script
-rw-r--r--.stow-local-ignore1
-rwxr-xr-xinstall.sh165
2 files changed, 166 insertions, 0 deletions
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