init commit
This commit is contained in:
commit
bf23fa1e84
|
@ -0,0 +1,235 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#set -x
|
||||
|
||||
|
||||
################################################################################
|
||||
# PRE-INSTALLATION
|
||||
################################################################################
|
||||
|
||||
# check for internet connectivity
|
||||
ping -c 1 google.com >/dev/null 2>&1
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
echo "No internet access :("
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check if the user is root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "This script needs to be run as the root user :("
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# detect if Arch Linux booted into Legacy BIOS or UEFI
|
||||
if [[ ! "$(ls -A /sys/firmware/efi/efivars)" ]]; then
|
||||
echo "This script was tailored for a system with UEFI."
|
||||
echo "Please modify this script manually :("
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
################################################################################
|
||||
# SELECT THE FASTEST "HTTPS" MIRRORS
|
||||
################################################################################
|
||||
|
||||
pacman -Sy --noconfirm reflector
|
||||
MIRRORLIST_FILE="/etc/pacman.d/mirrorlist"
|
||||
|
||||
# check if reflector is already running
|
||||
pgrep reflector >/dev/null
|
||||
if [[ $? -eq 0 ]]; then
|
||||
IS_REFLECTOR_RUNNING=y
|
||||
else
|
||||
IS_REFLECTOR_RUNNING=n
|
||||
fi
|
||||
|
||||
# remove $MIRRORLIST_FILE if file modification time is more than 10 days
|
||||
if [[ ! $(find "$MIRRORLIST_FILE" -mtime +10) && $IS_REFLECTOR_RUNNING == "n" ]]; then
|
||||
rm -f "$MIRRORLIST_FILE"
|
||||
fi
|
||||
|
||||
# pacman config
|
||||
sed -i "s/#ParallelDownloads = 5/ParallelDownloads = 10/" /etc/pacman.conf || echo "ParallelDownloads = 10" | tee -a /etc/pacman.conf
|
||||
|
||||
# start finding the best mirrors in the background
|
||||
if [[ ! -f "$MIRRORLIST_FILE" && $IS_REFLECTOR_RUNNING == "n" ]]; then
|
||||
reflector \
|
||||
--connection-timeout 2 \
|
||||
--latest 100 \
|
||||
--sort rate \
|
||||
--fastest 10 \
|
||||
--protocol https \
|
||||
--save /etc/pacman.d/mirrorlist >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
# SET THINGS UP FOR INSTALLATION
|
||||
################################################################################
|
||||
|
||||
# set some global variables
|
||||
FONT_BOLD=$(tput bold)
|
||||
FONT_NORM=$(tput sgr0)
|
||||
YES_NO_OPTION="$FONT_BOLD(y/n)$FONT_NORM"
|
||||
|
||||
# update system clock
|
||||
timedatectl set-ntp true
|
||||
|
||||
|
||||
################################################################################
|
||||
# CHOOSE A DRIVE ON WHICH ARCH LINUX WILL BE INSTALLED
|
||||
################################################################################
|
||||
|
||||
# choose the drive to install Arch Linux on
|
||||
OS_DRIVE=empty
|
||||
CORRECTLY_CHOSEN=n
|
||||
VM_SYS_NAME=$(dmidecode -s system-manufacturer)
|
||||
|
||||
if [[ $(grep 'AuthenticAMD' /proc/cpuinfo) ]]; then
|
||||
CPU_VENDOR_NAME="amd"
|
||||
elif [[ $(grep 'GenuineIntel' /proc/cpuinfo) ]]; then
|
||||
CPU_VENDOR_NAME="intel"
|
||||
else
|
||||
CPU_VENDOR_NAME="nanyabusiness"
|
||||
fi
|
||||
|
||||
while [[ $CORRECTLY_CHOSEN == "n" || $CORRECTLY_CHOSEN == "N" ]]; do
|
||||
tput -x clear
|
||||
fdisk -l
|
||||
|
||||
echo -e "\n\nPlease input the full path of the storage device onto which Arch Linux should be installed: (eg: $FONT_BOLD/dev/sda$FONT_NORM)"
|
||||
read OS_DRIVE
|
||||
|
||||
tput -x clear
|
||||
fdisk -l "$OS_DRIVE"
|
||||
|
||||
echo -e "\n\nIs this the drive you want to install Arch Linux on? $YES_NO_OPTION"
|
||||
read CORRECTLY_CHOSEN
|
||||
done
|
||||
|
||||
|
||||
################################################################################
|
||||
# FORMAT THE DRIVE ON WHICH ARCH LINUX WILL BE INSTALLED
|
||||
################################################################################
|
||||
|
||||
# partition the drive
|
||||
FORMAT_YES=no
|
||||
SEPARATE_HOME_ROOT=no
|
||||
TOTAL_DEV_SIZE_IN_BYTES=$(blockdev --getsize64 ${OS_DRIVE})
|
||||
|
||||
UEFI_PART_SIZE=513MiB
|
||||
ROOT_PART_SIZE=10GiB
|
||||
|
||||
tput -x clear
|
||||
|
||||
echo "Do you want a separate \`home\` and \`root\` partition? $YES_NO_OPTION"
|
||||
read SEPARATE_HOME_ROOT
|
||||
|
||||
if [[ $SEPARATE_HOME_ROOT == "Y" || $SEPARATE_HOME_ROOT == "y" ]]; then
|
||||
tput -x clear
|
||||
|
||||
echo "You chose that you want separate home and root partitions."
|
||||
echo "You will$FONT_BOLD not$FONT_NORM be asked for the Home partition's size. It will occupy the remaining space.\n"
|
||||
echo "Please enter the size of root partition in GiB (without the unit)."
|
||||
echo -e "10% or 12GB (whichever is greater) of the total drive space is usually a good idea.\n"
|
||||
read ROOT_PART_SIZE
|
||||
|
||||
ROOT_PART_SIZE="$ROOT_PART_SIZE""GiB"
|
||||
fi
|
||||
|
||||
|
||||
################################################################################
|
||||
# CREATE PARTITIONS
|
||||
################################################################################
|
||||
|
||||
# create the disk partitions
|
||||
tput -x clear
|
||||
|
||||
echo -e "Your drive will be split into 3 partitions:\n\n"
|
||||
echo -e " mount point | filesystem | size "
|
||||
echo -e "-------------|------------|----------"
|
||||
echo -e " /boot/ | EFI | 512Mib "
|
||||
echo -e " / | ext4 | $ROOT_PART_SIZE"
|
||||
echo -e " /home | ext4 | <remaining space>"
|
||||
|
||||
echo -e "\n\nDoes the above look good to you? $YES_NO_OPTION\n"
|
||||
read FORMAT_YES
|
||||
|
||||
if [[ $FORMAT_YES == "y" || $FORMAT_YES == "Y" ]]; then
|
||||
parted -s "$OS_DRIVE" mklabel gpt
|
||||
parted -s "$OS_DRIVE" mkpart primary fat32 1 513MiB
|
||||
parted -s "$OS_DRIVE" mkpart logical ext4 514MiB $ROOT_PART_SIZE
|
||||
parted -s "$OS_DRIVE" mkpart logical ext4 $ROOT_PART_SIZE 100%
|
||||
parted -s "$OS_DRIVE" set 1 boot on
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
################################################################################
|
||||
# MOUNT PARTITIONS
|
||||
################################################################################
|
||||
|
||||
# check what kind of storage device $OS_DRIVE is
|
||||
if [[ "$OS_DRIVE" =~ "sd" || "$OS_DRIVE" =~ "vd" ]]; then
|
||||
UEFI_PARTITION="$OS_DRIVE""1"
|
||||
ROOT_PARTITION="$OS_DRIVE""2"
|
||||
HOME_PARTITION="$OS_DRIVE""3"
|
||||
elif [[ "$OS_DRIVE" =~ "nvme" ]]; then
|
||||
UEFI_PARTITION="$OS_DRIVE""p1"
|
||||
ROOT_PARTITION="$OS_DRIVE""p2"
|
||||
HOME_PARTITION="$OS_DRIVE""p3"
|
||||
fi
|
||||
|
||||
# format partitions
|
||||
mkfs.fat -F32 "$UEFI_PARTITION"
|
||||
mkfs.ext4 -F "$HOME_PARTITION"
|
||||
mkfs.ext4 -F "$ROOT_PARTITION"
|
||||
|
||||
# mount the partitions
|
||||
mount ${ROOT_PARTITION} /mnt
|
||||
mount --mkdir ${UEFI_PARTITION} /mnt/boot
|
||||
mount --mkdir ${HOME_PARTITION} /mnt/home
|
||||
|
||||
|
||||
################################################################################
|
||||
# INITIATE PACKAGE INSTALLATION
|
||||
################################################################################
|
||||
|
||||
# check and copy mirrorlist
|
||||
while [[ ! -f "$MIRRORLIST_FILE" ]]; do
|
||||
tput -x clear
|
||||
echo "$(date +'%Y/%m/%d %H:%M:%S') => Waiting for the mirrorlist to be generated. Please be patient."
|
||||
sleep 10
|
||||
done
|
||||
mkdir -p /mnt/etc/pacman.d/
|
||||
cp ${MIRRORLIST_FILE} /mnt"$MIRRORLIST_FILE"
|
||||
|
||||
# update pacman db
|
||||
pacman --sync --refresh --refresh
|
||||
|
||||
# install packages
|
||||
bash scripts/install-packages.sh "$CPU_VENDOR_NAME"
|
||||
|
||||
# generate fstab
|
||||
genfstab -U /mnt >> /mnt/etc/fstab
|
||||
|
||||
# chroot setup
|
||||
mkdir -p /mnt/chroot-scripts
|
||||
cp scripts/chroot-setup.sh /mnt/chroot-scripts/
|
||||
arch-chroot /mnt bash /chroot-scripts/chroot-setup.sh "$CPU_VENDOR_NAME" "$ROOT_PARTITION"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# copy the setup script that can only be done after pratham logs in
|
||||
cp scripts/pratham-setup.sh /mnt/home/pratham/pratham-setup.sh
|
||||
arch-chroot /mnt chmod +x /home/pratham/pratham-setup.sh
|
||||
arch-chroot /mnt chown -v pratham:pratham /home/pratham/pratham-setup.sh
|
||||
|
||||
|
||||
################################################################################
|
||||
# POST-INSTALL PROCEDURE
|
||||
################################################################################
|
||||
|
||||
# unmount filesystems
|
||||
umount -R /mnt
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
reflector \
|
||||
--connection-timeout 2 \
|
||||
--latest 100 \
|
||||
--sort rate \
|
||||
--fastest 10 \
|
||||
--protocol https \
|
||||
--save /etc/pacman.d/mirrorlist
|
|
@ -0,0 +1,119 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# $1: CPU Vendor (AMD/Intel)
|
||||
# $2: Device that is mounted at "$ESP_PATH"
|
||||
|
||||
|
||||
################################################################################
|
||||
ROOT_CRONTAB="# remove cache every 2 hours and update local db
|
||||
0 */2 * * * paccache -r >/dev/null 2>&1
|
||||
0 * * * * pacman --sync --refresh >/dev/null 2>&1
|
||||
|
||||
# update the on-disk database every 6 hours
|
||||
0 */6 * * * updatedb >/dev/null 2>&1
|
||||
"
|
||||
################################################################################
|
||||
|
||||
tput -x clear
|
||||
|
||||
################################################################################
|
||||
# BASIC CHROOT SETUP
|
||||
################################################################################
|
||||
|
||||
# exit early if mirrorlist does not exist
|
||||
if [[ ! -f "/etc/pacman.d/mirrorlist" ]]; then
|
||||
echo "A mirrorlist does not exist :("
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# exit early if $1 is an unknown vendor
|
||||
if [[ "$1" == "nanyabusiness" ]]; then
|
||||
echo "CPU Vendor is not AMD nor Intel. This will interfere with generating \"\$ESP_PATH\"/loader/entries/arch.conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# set timezone
|
||||
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
|
||||
hwclock --systohc
|
||||
|
||||
# generate locale
|
||||
echo "en_IN UTF-8" > /etc/locale.gen
|
||||
locale-gen
|
||||
|
||||
# set the machine hostname
|
||||
echo "vasudev" > /etc/hostname
|
||||
|
||||
# create a new initramfs just to be safe
|
||||
mkinitcpio -P
|
||||
echo "initramfs successfully created"
|
||||
|
||||
|
||||
################################################################################
|
||||
# BASIC CHROOT SETUP
|
||||
################################################################################
|
||||
|
||||
# pacman config
|
||||
sed -i "s/#ParallelDownloads = 5/ParallelDownloads = 10/" /etc/pacman.conf || echo "ParallelDownloads = 10" | tee -a /etc/pacman.conf
|
||||
|
||||
# update pacman db
|
||||
pacman --sync --refresh --refresh --sysupgrade
|
||||
|
||||
################################################################################
|
||||
# USER SETUP
|
||||
################################################################################
|
||||
|
||||
# setup the user pratham
|
||||
useradd -m -G adm,ftp,games,http,log,rfkill,sys,systemd-journal,uucp,wheel -s /bin/zsh pratham
|
||||
usermod --password $(echo pratham | openssl passwd -1 -stdin) pratham
|
||||
passwd -e pratham
|
||||
|
||||
# setup the root user
|
||||
usermod --password $(echo root | openssl passwd -1 -stdin) root
|
||||
|
||||
# setup doas for pratham
|
||||
echo "permit persist keepenv pratham" | tee -a /etc/doas.conf
|
||||
|
||||
# setup root user's cron jobs
|
||||
echo "${ROOT_CRONTAB}" | crontab -
|
||||
|
||||
|
||||
################################################################################
|
||||
# BOOT MANAGER
|
||||
################################################################################
|
||||
|
||||
ESP_PATH="/boot"
|
||||
|
||||
# install a boot manager
|
||||
bootctl --esp-path="$ESP_PATH" --path="$ESP_PATH" install
|
||||
|
||||
# configure systemd-boot
|
||||
mkdir -p "$ESP_PATH"/loader/entries
|
||||
|
||||
cat <<EOF > "$ESP_PATH"/loader/loader.conf
|
||||
default arch.conf
|
||||
timeout 0
|
||||
console-mode auto
|
||||
editor no
|
||||
auto-firmware no
|
||||
EOF
|
||||
|
||||
cat <<EOF > "$ESP_PATH"/loader/entries/arch.conf
|
||||
title Arch Linux btw
|
||||
linux /vmlinuz-linux
|
||||
initrd /$1-ucode.img
|
||||
initrd /initramfs-linux.img
|
||||
options root=UUID=$(blkid $2 -s UUID -o value) rw systemd.show_status=false mem_sleep_default=deep splash
|
||||
EOF
|
||||
|
||||
# enable services
|
||||
systemctl enable systemd-boot-update.service
|
||||
systemctl enable sddm.service
|
||||
systemctl enable NetworkManager.service
|
||||
systemctl enable sshd.service
|
||||
|
||||
# update bootloader
|
||||
bootctl update
|
||||
|
||||
# check bootloader config
|
||||
bootctl list
|
||||
read wait_until_input
|
|
@ -0,0 +1,96 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
################################################################################
|
||||
# install packages
|
||||
################################################################################
|
||||
|
||||
# update pacman db
|
||||
pacman --sync --refresh --refresh
|
||||
|
||||
|
||||
# absolutely necessary for _MY_ experience
|
||||
PKGS_TO_INSTALL=(base bash cron curl dhcpcd dnsutils doas efibootmgr findutils grub iputils less libdrm linux linux-firmware lsb-release lsof man man-db man-pages nano neovim openssh openssl os-prober pacman-contrib reflector rsync tmux wireguard-tools zsh zsh-completions zsh-syntax-highlighting)
|
||||
|
||||
# power management
|
||||
PKGS_TO_INSTALL+=(acpi_call iasl)
|
||||
|
||||
# add-on
|
||||
PKGS_TO_INSTALL+=(flatpak ffmpeg light)
|
||||
|
||||
# monitoring
|
||||
PKGS_TO_INSTALL+=(btop htop iotop iperf iperf3 nload)
|
||||
|
||||
# containersation stuff
|
||||
#PKGS_TO_INSTALL+=(aardvark-dns bridge-utils fuse-overlayfs podman podman-compose podman-dnsname slirp4netns)
|
||||
|
||||
# download clients
|
||||
PKGS_TO_INSTALL+=(aria2 wget yt-dlp)
|
||||
|
||||
# android-stuff
|
||||
PKGS_TO_INSTALL+=(android-tools)
|
||||
|
||||
# *utils-rust
|
||||
PKGS_TO_INSTALL+=(bat fd ripgrep tre)
|
||||
|
||||
# system utilities
|
||||
PKGS_TO_INSTALL+=(hd-idle hdparm tldr smartmontools wol)
|
||||
|
||||
# compression
|
||||
PKGS_TO_INSTALL+=(tar unrar unzip xz zip)
|
||||
|
||||
# software devel
|
||||
|
||||
|
||||
# kernel devel
|
||||
PKGS_TO_INSTALL+=(base-devel bc cpio gcc git graphviz imagemagick inetutils kmod libelf linux-headers pahole perl python-sphinx python-sphinx_rtd_theme tar texlive-latexextra xmlto xz)
|
||||
|
||||
# virtualisation
|
||||
|
||||
|
||||
# network filesystems
|
||||
PKGS_TO_INSTALL+=(avahi nfs-utils samba smbclient)
|
||||
PKGS_TO_INSTALL+=(kdenetwork-filesharing)
|
||||
#PKGS_TO_INSTALL+=(gvfs-smb
|
||||
|
||||
# zfs
|
||||
|
||||
|
||||
# GPU
|
||||
PKGS_TO_INSTALL+=(mesa qemu-hw-display-virtio-gpu qemu-hw-display-virtio-gpu-gl qemu-hw-display-virtio-gpu-pci qemu-hw-display-virtio-gpu-pci-gl qemu-hw-s390x-virtio-gpu-ccw)
|
||||
#PKGS_TO_INSTALL+=(libva-mesa-driver mesa radeontop vulkan-radeon)
|
||||
#PKGS_TO_INSTALL+=(intel-media-driver libva-intel-driver mesa vulkan-intel)
|
||||
|
||||
# Display Server (Wayland)
|
||||
PKGS_TO_INSTALL+=(libdrm wayland)
|
||||
|
||||
# Window Manager (Wayland)
|
||||
|
||||
|
||||
# Desktop Environment (Wayland)
|
||||
PKGS_TO_INSTALL+=(kcalc kcharselect kdf kdialog ktimer print-manager plasma plasma-meta kde-system-meta plasma-wayland-session)
|
||||
|
||||
# GUI
|
||||
PKGS_TO_INSTALL+=(alacritty firefox meld mpv slurp)
|
||||
|
||||
# Sound
|
||||
PKGS_TO_INSTALL+=(pipewire pipewire-pulse)
|
||||
#PKGS_TO_INSTALL+=(alsa-firmware alsa-lib alsa-utils gst-plugins-good gstreamer libao libcanberra-gstreamer libcanberra-pulse pulseaudio pulseaudio-alsa)
|
||||
|
||||
# ???
|
||||
#PKGS_TO_INSTALL+=(exfatprogs netcfg otf-overpass)
|
||||
|
||||
# xorg
|
||||
#PKGS_TO_INSTALL+=(libdrm libva-mesa-driver qemu-hw-display-virtio-gpu qemu-hw-display-virtio-gpu-gl qemu-hw-display-virtio-gpu-pci qemu-hw-display-virtio-gpu-pci-gl qemu-hw-s390x-virtio-gpu-ccw xf86-input-libinput xf86-input-synaptics xf86-input-wacom xf86-video-qxl xf86-video-vmware xorg xorg-apps xorg-fonts-alias xorg-fonts-encodings xorg-fonts-misc xorg-server xorg-xauth xorg-xinit xorg-xkbutils)
|
||||
#PKGS_TO_INSTALL+=(intel-media-driver libva-intel-driver vulkan-intel)
|
||||
#PKGS_TO_INSTALL+=(xf86-video-amdgpu radeontop vulkan-radeon)
|
||||
|
||||
|
||||
# install x86 microcode
|
||||
if [[ "$1" == "amd" ]]; then
|
||||
PKGS_TO_INSTALL+=(amd-ucode)
|
||||
elif [[ "$1" == "intel" ]]; then
|
||||
PKGS_TO_INSTALL+=(intel-ucode)
|
||||
fi
|
||||
|
||||
pacstrap -K /mnt "${PKGS_TO_INSTALL[@]}"
|
|
@ -0,0 +1,131 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
################################################################################
|
||||
# INITIAL SETUP
|
||||
################################################################################
|
||||
|
||||
# set hostname
|
||||
WHAT_IS_MY_HOSTNAME=$(cat /etc/hostname)
|
||||
if [[ $WHAT_IS_MY_HOSTNAME != "vasudev" ]]; then
|
||||
hostnamectl set-hostname vasudev
|
||||
WHAT_IS_MY_HOSTNAME=whoopsie
|
||||
fi
|
||||
|
||||
# set timezone
|
||||
WHAT_IS_MY_TZ=$(readlink /etc/localtime)
|
||||
if [[ ! $WHAT_IS_MY_TZ =~ "Asia/Kolkata" ]]; then
|
||||
timedatectl set-timezone Asia/Kolkata
|
||||
WHAT_IS_MY_TZ=whoopsie
|
||||
fi
|
||||
|
||||
# reboot to bring hostname in effect
|
||||
if [[ $WHAT_IS_MY_TZ == "whoopsie" || $WHAT_IS_MY_HOSTNAME == "whoopsie" ]]; then
|
||||
systemctl reboot
|
||||
fi
|
||||
|
||||
|
||||
################################################################################
|
||||
# SETUP DEV ENVIRONMENT
|
||||
################################################################################
|
||||
|
||||
# rust-lang
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
rustup default stable
|
||||
rustup component add rust-src rust-analyzer
|
||||
rustup component add rust-analysis
|
||||
cargo install cargo-outdated cargo-tree
|
||||
|
||||
|
||||
# neovim (vim-plug)
|
||||
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||
|
||||
# create ssh keys
|
||||
if [[ ! -d $HOME/.ssh ]]; then
|
||||
mkdir $HOME/.ssh
|
||||
chmod 700 $HOME/.ssh
|
||||
fi
|
||||
pushd $HOME/.ssh
|
||||
ssh-keygen -t ed25519 -f bluefeds
|
||||
ssh-keygen -t ed25519 -f flameboi
|
||||
ssh-keygen -t ed25519 -f gitea
|
||||
ssh-keygen -t ed25519 -f github
|
||||
ssh-keygen -t ed25519 -f gitlab
|
||||
ssh-keygen -t ed25519 -f sentinel
|
||||
popd
|
||||
|
||||
# IP address for server is hidden behind cloudflare proxy
|
||||
tput -x clear
|
||||
cat <<EOF > $HOME/.ssh/config
|
||||
Host git.thefossguy.com
|
||||
Hostname ::?
|
||||
User git
|
||||
IdentityFile ~/.ssh/gitea
|
||||
Port 22
|
||||
EOF
|
||||
echo "Populate Hostname (IP addr) for \"git.thefossguy.com\" in ~/.ssh/config"
|
||||
bash
|
||||
|
||||
# get dotfiles
|
||||
cat $HOME/.ssh/gitea.pub
|
||||
echo -ne "\n\n\n\n"
|
||||
|
||||
pushd $HOME
|
||||
git clone git@git.thefossguy.com:thefossguy/dotfiles-priv.git
|
||||
git clone git@git.thefossguy.com:thefossguy/dotfiles.git
|
||||
popd
|
||||
|
||||
rsync \
|
||||
--verbose --recursive --size-only --human-readable \
|
||||
--progress --stats \
|
||||
--itemize-changes --checksum \
|
||||
--exclude=".git" --exclude=".gitignore" --exclude="README.md" \
|
||||
~/dotfiles/ ~/
|
||||
|
||||
rsync \
|
||||
--verbose --recursive --size-only --human-readable \
|
||||
--progress --stats \
|
||||
--itemize-changes --checksum \
|
||||
--exclude=".git" --exclude=".gitignore" \
|
||||
~/dotfiles-priv/ ~/
|
||||
|
||||
# podman?
|
||||
#grep net.ipv4.ping_group_range /etc/sysctl.conf || echo "net.ipv4.ping_group_range=0 $(grep pratham /etc/subuid | awk -F ":" '{print $2 + $3}')" | doas tee -a /etc/sysctl.conf
|
||||
|
||||
|
||||
################################################################################
|
||||
# AUR-RELATED
|
||||
################################################################################
|
||||
|
||||
# install necessary packages for installing \`paru\`
|
||||
doas pacman -S --needed base-devel
|
||||
|
||||
# build paru
|
||||
mkdir /tmp/parutemp-PARU
|
||||
pushd /temp/parutemp-PARU
|
||||
|
||||
git clone --depth 1 https://aur.archlinux.org/paru.git
|
||||
makepkg -si
|
||||
if [[ $? -ne 0 ]]; then
|
||||
tput -x clear
|
||||
echo "paru wasn't installed successfully :("
|
||||
exit 1
|
||||
fi
|
||||
popd
|
||||
|
||||
# AUR pkgs
|
||||
paru -S qomui noisetorch ssmtp
|
||||
paru -S zfs-dkms
|
||||
|
||||
# wayland-WM
|
||||
#paru -S hyperland
|
||||
|
||||
# intel
|
||||
#paru -S libva-intel-driver-g45-h264 intel-hybrid-codec-driver
|
||||
|
||||
|
||||
################################################################################
|
||||
# WRAP UP
|
||||
################################################################################
|
||||
|
||||
tput -x clear
|
||||
echo "vim-plug for nvim has been installed, please fetch the plugins using the \'`:PlugInstall\` command"
|
Loading…
Reference in New Issue