install.sh: split packages into seperate files
This commit is contained in:
parent
371950d900
commit
80cda2bb65
|
|
@ -2,4 +2,5 @@
|
||||||
README.md
|
README.md
|
||||||
assets
|
assets
|
||||||
system
|
system
|
||||||
|
packages
|
||||||
install.sh
|
install.sh
|
||||||
|
|
|
||||||
168
install.sh
168
install.sh
|
|
@ -1,152 +1,39 @@
|
||||||
#!/bin/env bash
|
#!/bin/env bash
|
||||||
|
|
||||||
pkg_utils=(
|
currentDir="$(dirname "$(readlink -f "$0")")"
|
||||||
"fd"
|
cd "$currentDir"
|
||||||
"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=(
|
## Install necessary desktop packages
|
||||||
"git"
|
source "$currentDir/packages/pkg_desktop.sh"
|
||||||
"neovim"
|
source "$currentDir/packages/pkg_utils.sh"
|
||||||
"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[@]}" "${pkg_utils[@]}"
|
sudo pacman -S --needed "${pkg_desktop[@]}" "${pkg_utils[@]}"
|
||||||
|
|
||||||
# Install dev tools
|
## Install dev tools
|
||||||
read -rp "Do you wish to development tools? [y/n]" install_dev_tools
|
read -rp "Do you wish to install development tools? [y/N]" install_dev_tools
|
||||||
|
source "$currentDir/packages/pkg_dev_tools.sh"
|
||||||
if [[ $install_dev_tools == y ]]; then
|
if [[ $install_dev_tools == y ]]; then
|
||||||
sudo pacman -S --needed "${pkg_dev_tools[@]}"
|
sudo pacman -S --needed "${pkg_dev_tools[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install optional packages
|
## Install optional packages
|
||||||
read -rp "Do you wish to install optional packages? [y/n]" install_optional_pkg
|
read -rp "Do you wish to install optional packages? [y/N]" install_optional_pkg
|
||||||
if [[ $install_optional_pkg == y ]]; then
|
if [[ $install_optional_pkg == y ]]; then
|
||||||
|
source "$currentDir/packages/pkg_optional.sh"
|
||||||
sudo pacman -S --needed "${pkg_optional[@]}"
|
sudo pacman -S --needed "${pkg_optional[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install nvidia drivers
|
## Install nvidia drivers
|
||||||
read -rp "Do you wish to install Nvidia drivers? [y/n]" install_nvidia_drivers
|
read -rp "Do you wish to install Nvidia drivers? [y/N]" install_nvidia_drivers
|
||||||
if [[ $install_nvidia_drivers == y ]]; then
|
if [[ $install_nvidia_drivers == y ]]; then
|
||||||
|
source "$currentDir/packages/pkg_nvidia.sh"
|
||||||
sudo pacman -S --needed "${pkg_nvidia[@]}"
|
sudo pacman -S --needed "${pkg_nvidia[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Install aur packages
|
## Install aur packages
|
||||||
read -rp "Do you wish to install aur packages? [y/n]" install_aur_pkg
|
read -rp "Do you wish to install aur packages? [y/N]" install_aur_pkg
|
||||||
# Install paru if it isn't already installed
|
|
||||||
if [[ $install_aur_pkg == y ]]; then
|
if [[ $install_aur_pkg == y ]]; then
|
||||||
|
## Install paru if it isn't already installed
|
||||||
if ! command -v paru >/dev/null 2>&1; then
|
if ! command -v paru >/dev/null 2>&1; then
|
||||||
echo "Installing paru..."
|
echo "Installing paru..."
|
||||||
git clone https://aur.archlinux.org/paru-bin.git
|
git clone https://aur.archlinux.org/paru-bin.git
|
||||||
|
|
@ -157,14 +44,15 @@ if [[ $install_aur_pkg == y ]]; then
|
||||||
else
|
else
|
||||||
echo "Skipping paru (already in PATH)"
|
echo "Skipping paru (already in PATH)"
|
||||||
fi
|
fi
|
||||||
# Install aur packages
|
## Install aur packages
|
||||||
paru -S --needed "${pkg_aur[@]}"
|
source "$currentDir/packages/pkg_aur.sh"
|
||||||
|
paru -S --needed "${pkg_aur[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Setup dotfiles
|
## Setup dotfiles
|
||||||
echo "⚠️ WARNING: This will DELETE any conflicting files and replace them with symlinks from this repo."
|
echo "⚠️ WARNING: This will DELETE any conflicting files and replace them with symlinks from this repo."
|
||||||
echo " Make sure your dotfiles repo is the source of truth / already backed up."
|
echo "Make sure you have already backed up all your existing config files (~/.config)"
|
||||||
read -rp "Continue with stow (y/N): " confirm
|
read -rp "Continue with stow (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "Detecting conflicts..."
|
echo "Detecting conflicts..."
|
||||||
|
|
@ -194,10 +82,11 @@ if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "✅ Dotfiles stowed with overwrite."
|
echo "✅ Dotfiles stowed with overwrite."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Aborted"
|
echo "Aborted stow"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup neovim dotfiles
|
|
||||||
|
## Setup neovim dotfiles
|
||||||
read -rp "Clone neovim dotfiles as well? (y/N): " confirm
|
read -rp "Clone neovim dotfiles as well? (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "Taking backup of neovim config (if already exists)"
|
echo "Taking backup of neovim config (if already exists)"
|
||||||
|
|
@ -208,7 +97,7 @@ if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
git clone --depth=1 git@github.com:krolyxon/nvim.git ~/.config/nvim
|
git clone --depth=1 git@github.com:krolyxon/nvim.git ~/.config/nvim
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Change default shell to zsh
|
## Change default shell to zsh
|
||||||
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
||||||
read -rp "Change default shell to ZSH? (y/N): " confirm
|
read -rp "Change default shell to ZSH? (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
|
|
@ -218,3 +107,8 @@ if [[ "$SHELL" != "$(which zsh)" ]]; then
|
||||||
else
|
else
|
||||||
echo "Skipping: zsh is already the default shell"
|
echo "Skipping: zsh is already the default shell"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
|
||||||
|
echo ""
|
||||||
|
echo "Done! 😊"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
export pkg_aur=(
|
||||||
|
"envycontrol"
|
||||||
|
"htop-vim"
|
||||||
|
"jmtpfs"
|
||||||
|
"keepmenu"
|
||||||
|
"keyd-git"
|
||||||
|
"librewolf-bin"
|
||||||
|
"python-pywal16"
|
||||||
|
"tokyonight-gtk-theme-git"
|
||||||
|
"zsh-fast-syntax-highlighting-git"
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
export pkg_desktop=(
|
||||||
|
"hypridle"
|
||||||
|
"hyprland"
|
||||||
|
"hyprlock"
|
||||||
|
"hyprpaper"
|
||||||
|
"hyprpicker"
|
||||||
|
"hyprpolkitagent"
|
||||||
|
"hyprshot"
|
||||||
|
"xdg-desktop-portal-hyprland"
|
||||||
|
"swaync"
|
||||||
|
"waybar"
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
export pkg_dev_tools=(
|
||||||
|
"git"
|
||||||
|
"neovim"
|
||||||
|
"platformio-core"
|
||||||
|
"tmux"
|
||||||
|
"nodejs"
|
||||||
|
"lazygit"
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
export pkg_nvidia=(
|
||||||
|
"nvidia"
|
||||||
|
"nvidia-utils"
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
export pkg_optional=(
|
||||||
|
"keepassxc"
|
||||||
|
"obsidian"
|
||||||
|
"syncthing"
|
||||||
|
"newsboat"
|
||||||
|
"obs-studio"
|
||||||
|
"telegram-desktop"
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
export 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"
|
||||||
|
)
|
||||||
|
|
||||||
Loading…
Reference in New Issue