aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorawy <awy@tutamail.com>2024-08-01 01:22:37 +0300
committerawy <awy@tutamail.com>2024-08-01 01:22:37 +0300
commita378b03ea5bc8a3bb2481169c3b70c346fdfa7f6 (patch)
tree1ba0402a5280c636e321ce7c007ff2ec58cdca75
parentd66493711edd358f9c65572430b906913e8ff3dd (diff)
minimal
-rwxr-xr-xinstall.sh41
-rwxr-xr-xpost_chroot.sh50
2 files changed, 40 insertions, 51 deletions
diff --git a/install.sh b/install.sh
index 18cc6e0..0f37c8e 100755
--- a/install.sh
+++ b/install.sh
@@ -1,23 +1,29 @@
-read -p "Enter disk label (e.g., sda): " disk_drive
-read -p "Enter comma-separated partition numbers (e.g., 5,6 for 5 boot 6 root): " partitions
+LIGHTGREEN='\033[1;32m'
+LIGHTRED='\033[1;91m'
+WHITE='\033[1;97m'
+MAGENTA='\033[1;35m'
+CYAN='\033[1;96m'
+NoColor='\033[0m'
+
+printf ${LIGHTGREEN}"Enter disk label (e.g. sda, nvme0n1p <- p is mandatory in nvme case):${NoColor}\n"
+read disk_drive
+printf ${LIGHTGREEN}"Enter comma-separated partition numbers (e.g., 5,6 for 5 boot 6 root):${NoColor}\n"
+read partitions
IFS=',' read -r -a partition_array <<< "$partitions"
-
root_drive="$disk_drive${partition_array[1]}"
-#swap_drive="$disk_drive${partition_array[1]}"
boot_drive="$disk_drive${partition_array[0]}"
-read -p "Hostname: " _hostname
-
-read -p "Username: " _username
-
-read -s -p "root password: " _rootpasswd
+printf ${LIGHTGREEN}"Enter the Hostname you want to use:${NoColor}\n"
+read _hostname
+printf ${LIGHTGREEN}"Enter the Username you want to use:${NoColor}\n"
+read _username
+printf ${LIGHTRED}"Enter the password for ROOT:${NoColor}\n"
+read -s _rootpasswd
+printf ${LIGHTGREEN}"Enter the password for $_username:${NoColor}\n"
+read -s _userpasswd
-read -s -p "user password: " _userpasswd
-
-mkfs.ext4 /dev/$root_drive
-#mkswap /dev/$swap_drive
-#swapon /dev/$swap_drive
-mkfs.fat -F 32 /dev/$boot_drive
+mkfs.fat -F32 /dev/$boot_drive
+mkfs.ext4 -F /dev/$root_drive
mount /dev/$root_drive /mnt
mkdir /mnt/boot
@@ -26,17 +32,14 @@ mkdir /mnt/boot/efi
mount /dev/$boot_drive /mnt/boot/efi
sv up ntpd
-
pacman -Sy --confirm
-basestrap /mnt base base-devel runit seatd-runit
-basestrap /mnt linux linux-firmware
+basestrap /mnt base runit seatd-runit linux-zen intel-ucode linux-zen-headers
fstabgen -U /mnt >> /mnt/etc/fstab
cp post_chroot.sh /mnt
export root_drive
-#export swap_drive
export boot_drive
export _hostname
export _username
diff --git a/post_chroot.sh b/post_chroot.sh
index 20487c1..f6dbb82 100755
--- a/post_chroot.sh
+++ b/post_chroot.sh
@@ -1,11 +1,14 @@
-pacman -Sy bash-completion --noconfirm
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc
+
mkdir -p /etc/modprobe.d/
echo "options hid_apple fnmode=0" > /etc/modprobe.d/hid_apple.conf
-echo 'options nvidia NVreg_UsePageAttributeTable=1' >> /etc/modprobe.d/nvidia.conf
-echo 'options nvidia-drm fbdev=1' >> /etc/modprobe.d/nvidia.conf
-echo 'options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"' >> /etc/modprobe.d/nvidia.conf
+cat <<EOL >> /etc/modprobe.d/nvidia.conf
+options nvidia NVreg_UsePageAttributeTable=1
+options nvidia-drm fbdev=1
+options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
+EOL
+
sed -i -e "/^#"en_US.UTF-8"/s/^#//" /etc/locale.gen
locale-gen
@@ -19,48 +22,31 @@ pacman -S grub os-prober efibootmgr --noconfirm
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
-grub-mkconfig -o /boot/grub/grub.cfg
-
useradd -m -g users -G wheel,storage,power -s /bin/bash $_username
echo root:$_rootpasswd | chpasswd
-
echo $_username:$_userpasswd | chpasswd
-echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
-echo "Defaults rootpw" >> /etc/sudoers
-
-echo "[lib32]" >> /etc/pacman.conf
-echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
pacman -Sy --noconfirm
+pacman -S doas --noconfirm
+cat <<EOL >> /etc/doas.conf
+permit nopass :wheel
+permit nopass keepenv :$_username
+permit nopass keepenv :root
+EOL
+
pacman -S dhcpcd dhcpcd-runit --noconfirm
ln -s /etc/runit/sv/dhcpcd /etc/runit/runsvdir/default
-pacman -S intel-ucode --noconfirm
-
SMFSUWER=$(blkid -s PARTUUID -o value /dev/$root_drive)
POWERSMFSUWER='GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet options root=PARTUUID='$SMFSUWER' rw nvidia-drm.modeset=1 modeset=1 fbdev=1 intel_iommu=on"'
sed -i "s/GRUB_CMDLINE_LINUX_DEF\(.*\)/$POWERSMFSUWER/g" /etc/default/grub
-grub-mkconfig -o /boot/grub/grub.cfg
-
-pacman -S linux-headers --noconfirm
+pacman -S linux-zen-headers --noconfirm
pacman -S trizen --noconfirm
-pacman -S nvidia-open-dkms nvidia-utils opencl-nvidia lib32-nvidia-utils lib32-opencl-nvidia nvidia-settings libxnvctrl --noconfirm
-
-sudo sed -i -e 's/MODULES=()/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/g' /etc/mkinitcpio.conf
-
-mkdir /etc/pacman.d/hooks
-echo "[Trigger]" >> /etc/pacman.d/hooks/nvidia
-echo "Operation=Install" >> /etc/pacman.d/hooks/nvidia
-echo "Operation=Upgrade" >> /etc/pacman.d/hooks/nvidia
-echo "Operation=Remove" >> /etc/pacman.d/hooks/nvidia
-echo "Type=Package" >> /etc/pacman.d/hooks/nvidia
-echo "Target=nvidia" >> /etc/pacman.d/hooks/nvidia
-echo "[Action]" >> /etc/pacman.d/hooks/nvidia
-echo "Depends=mkinitcpio" >> /etc/pacman.d/hooks/nvidia
-echo "When=PostTransaction" >> /etc/pacman.d/hooks/nvidia
-echo "Exec=/usr/bin/mkinitcpio -P" >> /etc/pacman.d/hooks/nvidia
+pacman -S nvidia-open-dkms --noconfirm
+sed -i -e 's/MODULES=()/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/g' /etc/mkinitcpio.conf
+grub-mkconfig -o /boot/grub/grub.cfg
rm /post_chroot.sh