diff --git a/.local/share/dotfiles/core/install-paru.sh b/.local/share/dotfiles/core/install-paru.sh new file mode 100755 index 0000000..5efcf3b --- /dev/null +++ b/.local/share/dotfiles/core/install-paru.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +if command -v paru; then + echo "Paru already installed, skipping" + exit 0 +fi + +git clone https://aur.archlinux.org/paru.git /tmp/paru +CURDIR="$PWD" +trap 'cd $CURDIR' EXIT +cd /tmp/paru +makepkg -si + +sed -i 's/^#Color$/Color/' /etc/pacman.conf +sed -i 's/^ParallelDownloads.*/ParallelDownloads = 5/' /etc/pacman.conf +sed -i 's/^#BottomUp$/BottomUp/' /etc/paru.conf diff --git a/.local/share/dotfiles/core/install-rust.sh b/.local/share/dotfiles/core/install-rust.sh new file mode 100755 index 0000000..22ad355 --- /dev/null +++ b/.local/share/dotfiles/core/install-rust.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +if command -v cargo && command -v rustc; then + echo "Rust already installed, skipping" + exit 0 +fi + +# Install Rust +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +. $HOME/.cargo/env diff --git a/.local/share/dotfiles/core/setup-default-apps.sh b/.local/share/dotfiles/core/setup-default-apps.sh new file mode 100755 index 0000000..3010f98 --- /dev/null +++ b/.local/share/dotfiles/core/setup-default-apps.sh @@ -0,0 +1,7 @@ +#!/bin/sh +handlr set "image/gif" org.gnome.gThumb.desktop +handlr set "image/jpeg" org.gnome.gThumb.desktop +handlr set "image/png" org.gnome.gThumb.desktop +handlr set "image/webp" org.gnome.gThumb.desktop +handlr set "inode/directory" pcmanfm.desktop +handlr set "text/plain" nvim.desktop diff --git a/.local/share/dotfiles/core/setup-sddm.sh b/.local/share/dotfiles/core/setup-sddm.sh new file mode 100755 index 0000000..85f4b81 --- /dev/null +++ b/.local/share/dotfiles/core/setup-sddm.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cat <<< '[Theme] +Current=archlinux-simplyblack' > /etc/sddm.conf diff --git a/.local/share/dotfiles/extra/virtualization.sh b/.local/share/dotfiles/extra/virtualization.sh new file mode 100755 index 0000000..c986725 --- /dev/null +++ b/.local/share/dotfiles/extra/virtualization.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +CURDIR="$(dirname "$0")" +. "${CURDIR}/../helpers/root_guard.sh" +root_guard + +pacman -S --needed virt-manager qemu-base +systemctl enable --now libvirtd diff --git a/.local/share/dotfiles/helpers/root_guard.sh b/.local/share/dotfiles/helpers/root_guard.sh new file mode 100644 index 0000000..8d7148a --- /dev/null +++ b/.local/share/dotfiles/helpers/root_guard.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +root_guard() { + if [ "$(id -u)" -ne "0" ]; then + echo "Please run as root." + exit 3 + fi +} diff --git a/.local/share/dotfiles/install-required.sh b/.local/share/dotfiles/install-required.sh new file mode 100755 index 0000000..4179ff7 --- /dev/null +++ b/.local/share/dotfiles/install-required.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +CURDIR="$(dirname "$0")" +. "${CURDIR}/helpers/root_guard.sh" +root_guard + +# Refresh package database +pacman -Sy + +# Uninstall unused software +pacman -Rc - < "${CURDIR}/pkglist-remove" + +# Install required packages +pacman -S --needed - < "${CURDIR}/pkglist-add" + +"${CURDIR}"/core/install-rust.sh +"${CURDIR}"/core/install-paru.sh + +# Install AUR packages +paru -S --needed < "${CURDIR}/pkglistaur-add" + +"${CURDIR}"/core/setup-default-apps.sh +"${CURDIR}"/core/setup-sddm.sh + +systemctl enable --now sddm diff --git a/.local/share/dotfiles/pkglist-add b/.local/share/dotfiles/pkglist-add new file mode 100644 index 0000000..352471f --- /dev/null +++ b/.local/share/dotfiles/pkglist-add @@ -0,0 +1,40 @@ +adwaita-qt5 +adwaita-qt6 +bottom +dunst +ffmpegthumbnailer +file-roller +firefox +fish +foot +gnome-keyring +gthumb +gvfs +handlr +imagemagick +libva +linux-headers +lsd +mako +mpv +neofetch +neovim +networkmanager +nm-connection-editor +otf-fira-sans +polkit +polkit-gnome +qt5ct +qt6ct +seatd +starship +sudo +thunar +thunderbird +ttf-jetbrains-mono-nerd +tumbler +udiskie +wl-clipboard +wofi +wpa_supplicant +yad diff --git a/.local/share/dotfiles/pkglist-remove b/.local/share/dotfiles/pkglist-remove new file mode 100644 index 0000000..5e27181 --- /dev/null +++ b/.local/share/dotfiles/pkglist-remove @@ -0,0 +1,3 @@ +vim +htop +sway diff --git a/.local/share/dotfiles/pkglistaur-add b/.local/share/dotfiles/pkglistaur-add new file mode 100644 index 0000000..c90a4f2 --- /dev/null +++ b/.local/share/dotfiles/pkglistaur-add @@ -0,0 +1,19 @@ +archlinux-themes-sddm +as-tree +checkupdates-with-aur +downgrade +grimblast-git +hyprland-nvidia-git +hyprpicker-git +nerd-fonts-inter +nordic-theme +nvidia-dkms +papirus-icon-theme +ponymix +sddm-git +swaylock-effects +swayosd-git +ttf-ms-win11-auto +ttf-twemoji +waybar-hyprland-git +xdg-desktop-portal-hyprland-git