Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- set -e
- #################################################################################
- BASE="bash bzip2 coreutils cryptsetup device-mapper dhcpcd diffutils e2fsprogs file filesystem findutils gawk gcc-libs gettext glibc grep gzip inetutils iproute2 iputils less linux-zen linux-firmware logrotate lvm2 mdadm netctl pacman pciutils perl procps-ng psmisc sed shadow sysfsutils systemd-sysvcompat tar texinfo usbutils util-linux xfsprogs"
- #################################################################################
- SYS="base-devel efibootmgr reflector alsa-utils sudo gstreamer-vaapi intel-ucode intel-media-driver vulkan-icd-loader vulkan-intel xf86-input-wacom fwupd git"
- #################################################################################
- DE="eog evince file-roller p7zip unrar gdm gedit gnome-backgrounds gnome-boxes gnome-calculator gnome-control-center gnome-disk-utility gnome-keyring gnome-logs gnome-screenshot gnome-shell gnome-system-monitor gnome-terminal nautilus networkmanager sushi totem gst-libav gst-plugins-ugly xdg-user-dirs-gtk gnome-tweaks"
- #################################################################################
- OTHER_APPS="neofetch chromium python-nautilus sshfs telegram-desktop transmission-gtk"
- #################################################################################
- FONTS="ttf-liberation ttf-dejavu ttf-droid ttf-opensans"
- #################################################################################
- export ROOT_PASSWORD=""
- #################################################################################
- export USER_PASSWORD=""
- #################################################################################
- export USER_NAME="vltsoy97"
- #################################################################################
- ### Connect to the Internet ###
- wifi-menu
- sleep 10
- ### Update the system clock ###
- timedatectl set-ntp true
- ### Configuring and mounting drives ###
- parted --script --align optimal /dev/sda mklabel gpt mkpart 0% 128MB mkpart 128MB 126GB mkpart 126GB 100% set 1 esp on
- mkfs.vfat -F32 /dev/sda1
- mkfs.ext4 -F /dev/sda2
- mkswap /dev/sda3 && swapon /dev/sda3
- mount -o noatime,discard /dev/sda2 /mnt
- mkdir /mnt/boot
- mount /dev/sda1 /mnt/boot
- ### Select the mirrors ###
- pacman -Sy --quiet --noconfirm --noprogressbar reflector
- reflector --sort rate --save /etc/pacman.d/mirrorlist
- ### Install the packages ###
- pacstrap /mnt $BASE $SYS $DE $OTHER_APPS $FONTS
- ### Fstab Setup ###
- genfstab -U /mnt >> /mnt/etc/fstab
- sed -i "s/0 2/0 0/" /mnt/etc/fstab
- sed -i "s/0 1/0 0/" /mnt/etc/fstab
- mkdir /mnt/install
- cat > /mnt/install/setup.sh << "END_SETUP"
- #!/bin/sh
- set -e
- ### Time zone ###
- ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
- hwclock --systohc
- ### Localization ###
- sed -i "s/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen
- sed -i "s/#ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/" /etc/locale.gen
- locale-gen
- echo "LANG=ru_RU.UTF-8" > /etc/locale.conf
- echo "FONT=cyr-sun16" > /etc/vconsole.conf
- ### Network configuration ###
- echo $USER_NAME > /etc/hostname
- echo -e "127.0.0.1\tlocalhost\n::1\tlocalhost\n127.0.1.1\t$USER_NAME.localdomain $USER_NAME" > /etc/hosts
- ### Root password ###
- echo -e "$ROOT_PASSWORD\n$ROOT_PASSWORD\n" | passwd
- ### Creating boot entry ###
- efibootmgr --disk /dev/sda --part 1 --create --label "Arch Linux" --loader /vmlinuz-linux-zen --unicode "initrd=intel-ucode.img initrd=initramfs-linux-zen.img root=PARTUUID=$(blkid -s PARTUUID -o value /dev/sda2) rw udev.log_priority=3 quiet i915.fastboot=1 i915.enable_fbc=1 i915.enable_guc=2 i915.enable_gvt=1"
- ### Create a user account ###
- useradd --create-home --gid users --groups wheel,lp,storage,video,network,power --shell /bin/bash $USER_NAME
- echo -e "$USER_PASSWORD\n$USER_PASSWORD\n" | passwd $USER_NAME
- echo "$USER_NAME ALL=(ALL) ALL" >> /etc/sudoers
- ### Enabling late microcode updates ###
- curl --output /install/microcode.tgz "https://downloadmirror.intel.com/28087/eng/microcode-20180807a.tgz"
- tar -xf /install/microcode.tgz --directory /install
- mv /install/intel-ucode /usr/lib/firmware
- ### Creating pacman hook for "Reflector" ###
- mkdir /etc/pacman.d/hooks
- cat > /etc/pacman.d/hooks/mirrorupgrade.hook << "END_HOOK"
- [Trigger]
- Operation = Upgrade
- Type = Package
- Target = pacman-mirrorlist
- [Action]
- Description = Updating pacman-mirrorlist with reflector and removing pacnew...
- When = PostTransaction
- Depends = reflector
- Exec = /bin/sh -c "reflector --sort rate --save /etc/pacman.d/mirrorlist; rm -f /etc/pacman.d/mirrorlist.pacnew"
- END_HOOK
- ### GNOME Setup ###
- systemctl enable gdm.service
- systemctl enable NetworkManager.service
- sed -i "s/#WaylandEnable/WaylandEnable/" /etc/gdm/custom.conf
- echo "LIBVA_DRIVER_NAME=iHD" >> /etc/environment
- ### 'mkinitcpio' Setup ###
- sed -i "s/MODULES=()/MODULES=(i915 ext4)/" /etc/mkinitcpio.conf
- sed -i "s/(base udev autodetect modconf block filesystems keyboard fsck)/(base udev autodetect modconf block)/" /etc/mkinitcpio.conf
- mkinitcpio -p linux-zen
- ### Sound setting ###
- amixer sset Master on
- amixer sset Capture cap
- amixer sset Master 32768
- amixer sset Capture 32768
- sed -i "s/; high-priority = yes/high-priority = yes/" /etc/pulse/daemon.conf
- sed -i "s/; resample-method = speex-float-1/resample-method = copy/" /etc/pulse/daemon.conf
- sed -i "s/; default-sample-format = s16le/default-sample-format = s24le/" /etc/pulse/daemon.conf
- sed -i "s/; default-sample-rate = 44100/default-sample-rate = 96000/" /etc/pulse/daemon.conf
- sed -i "s/; alternate-sample-rate = 48000/alternate-sample-rate = 44100/" /etc/pulse/daemon.conf
- sed -i "s/; default-sample-channels = 2/default-sample-channels = 2/" /etc/pulse/daemon.conf
- ### "Makepkg" Setup ###
- sed -i "s/-march=x86_64 -mtune=generic/-march=native/" /etc/makepkg.conf
- sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/' /etc/makepkg.conf
- sed -i "s/xz -c -z -/xz -c -z - --threads=0/" /etc/makepkg.conf
- ### Disable unnecessary services ###
- systemctl mask lvm2-monitor.service
- systemctl mask lvm2-lvmetad.service
- systemctl mask lvm2-lvmpolld.socket
- systemctl mask lvm2-lvmetad.socket
- systemctl mask cryptsetup.target
- ### Other commands ###
- sed -i "s/#SystemMaxUse=/SystemMaxUse=12M/" /etc/systemd/journald.conf
- sed -i "s/#Storage=external/Storage=none/" /etc/systemd/coredump.conf
- systemctl enable bluetooth.service
- systemctl enable upower.service
- ### Loading packages from AUR ###
- mkdir /home/$USER_NAME/AUR
- cd /home/$USER_NAME/AUR
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-remove-dropdown-arrows.tar.gz
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-dash-to-dock.tar.gz
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-arch-update.tar.gz
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-gsconnect.tar.gz
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/osu-lazer-git.tar.gz
- curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/pamac-aur.tar.gz
- ls *.gz | xargs -n1 tar -xf
- rm *.gz
- exit
- END_SETUP
- chmod +x /mnt/install/setup.sh
- ### Chroot ###
- arch-chroot /mnt /install/setup.sh
- rm -r /mnt/install
- umount -R /mnt
- echo -e "\n\n\n\n\n\n\n\n\n\n\n\n -@\n .##@\n .####@\n @#####@ Installation completed.\n . *######@\n .##@o@#####@\n /############@\n /##############@\n @######@**%######@\n @######\` %#####o Restart the computer, do not forget to remove the USB-drive ...\n @######@ ######%\n -@#######h ######@.\`\n /#####h**\`\` \`**%@####@\n @H@*\` \`*%#@\n *\` \`*\n\n\n\n\n\n\n\n\n\n\n\n"
- ### After installing ###
- #sudo -u gdm dbus-launch gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
- #xsetwacom set 14 Area 5700 4157 15200 9500
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement