From a378b03ea5bc8a3bb2481169c3b70c346fdfa7f6 Mon Sep 17 00:00:00 2001 From: awy Date: Thu, 1 Aug 2024 01:22:37 +0300 Subject: minimal --- install.sh | 41 ++++++++++++++++++++++------------------- post_chroot.sh | 50 ++++++++++++++++++-------------------------------- 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 <> /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 <> /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 -- cgit v1.2.3