Advertisement
Guest User

Untitled

a guest
Apr 17th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 8.09 KB | None | 0 0
  1. #!/bin/sh
  2. set -e
  3. #################################################################################
  4. 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"
  5. #################################################################################
  6. 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"
  7. #################################################################################
  8. 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"
  9. #################################################################################
  10. OTHER_APPS="neofetch chromium python-nautilus sshfs telegram-desktop transmission-gtk"
  11. #################################################################################
  12. FONTS="ttf-liberation ttf-dejavu ttf-droid ttf-opensans"
  13. #################################################################################
  14. export ROOT_PASSWORD=""
  15. #################################################################################
  16. export USER_PASSWORD=""
  17. #################################################################################
  18. export USER_NAME="vltsoy97"
  19. #################################################################################
  20.  
  21.     ### Connect to the Internet ###
  22. wifi-menu
  23. sleep 10
  24.  
  25.     ### Update the system clock ###
  26. timedatectl set-ntp true
  27.  
  28.     ### Configuring and mounting drives ###
  29. parted --script --align optimal /dev/sda mklabel gpt mkpart 0% 128MB mkpart 128MB 126GB mkpart 126GB 100% set 1 esp on
  30. mkfs.vfat -F32 /dev/sda1
  31. mkfs.ext4 -F /dev/sda2
  32. mkswap /dev/sda3 && swapon /dev/sda3
  33. mount -o noatime,discard /dev/sda2 /mnt
  34. mkdir /mnt/boot
  35. mount /dev/sda1 /mnt/boot
  36.  
  37.     ### Select the mirrors ###
  38. pacman -Sy --quiet --noconfirm --noprogressbar reflector
  39. reflector --sort rate --save /etc/pacman.d/mirrorlist
  40.  
  41.     ### Install the packages ###
  42. pacstrap /mnt $BASE $SYS $DE $OTHER_APPS $FONTS
  43.  
  44.     ### Fstab Setup ###
  45. genfstab -U /mnt >> /mnt/etc/fstab
  46. sed -i "s/0 2/0 0/" /mnt/etc/fstab
  47. sed -i "s/0 1/0 0/" /mnt/etc/fstab
  48.  
  49. mkdir /mnt/install
  50. cat > /mnt/install/setup.sh << "END_SETUP"
  51. #!/bin/sh
  52. set -e
  53.  
  54.     ### Time zone ###
  55. ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
  56. hwclock --systohc
  57.  
  58.     ### Localization ###
  59. sed -i "s/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen
  60. sed -i "s/#ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/" /etc/locale.gen
  61. locale-gen
  62. echo "LANG=ru_RU.UTF-8" > /etc/locale.conf
  63. echo "FONT=cyr-sun16" > /etc/vconsole.conf
  64.  
  65.     ### Network configuration ###
  66. echo $USER_NAME > /etc/hostname
  67. echo -e "127.0.0.1\tlocalhost\n::1\tlocalhost\n127.0.1.1\t$USER_NAME.localdomain $USER_NAME" > /etc/hosts
  68.  
  69.     ### Root password ###
  70. echo -e "$ROOT_PASSWORD\n$ROOT_PASSWORD\n" | passwd
  71.  
  72.     ### Creating boot entry ###
  73. 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"
  74.  
  75.     ### Create a user account ###
  76. useradd --create-home --gid users --groups wheel,lp,storage,video,network,power --shell /bin/bash $USER_NAME
  77. echo -e "$USER_PASSWORD\n$USER_PASSWORD\n" | passwd $USER_NAME
  78. echo "$USER_NAME ALL=(ALL) ALL" >> /etc/sudoers
  79.  
  80.     ### Enabling late microcode updates ###
  81. curl --output /install/microcode.tgz "https://downloadmirror.intel.com/28087/eng/microcode-20180807a.tgz"
  82. tar -xf /install/microcode.tgz --directory /install
  83. mv /install/intel-ucode /usr/lib/firmware
  84.  
  85.     ### Creating pacman hook for "Reflector" ###
  86. mkdir /etc/pacman.d/hooks
  87. cat > /etc/pacman.d/hooks/mirrorupgrade.hook << "END_HOOK"
  88. [Trigger]
  89. Operation = Upgrade
  90. Type = Package
  91. Target = pacman-mirrorlist
  92.  
  93. [Action]
  94. Description = Updating pacman-mirrorlist with reflector and removing pacnew...
  95. When = PostTransaction
  96. Depends = reflector
  97. Exec = /bin/sh -c "reflector --sort rate --save /etc/pacman.d/mirrorlist;  rm -f /etc/pacman.d/mirrorlist.pacnew"
  98. END_HOOK
  99.  
  100.     ### GNOME Setup ###
  101. systemctl enable gdm.service
  102. systemctl enable NetworkManager.service
  103. sed -i "s/#WaylandEnable/WaylandEnable/" /etc/gdm/custom.conf
  104. echo "LIBVA_DRIVER_NAME=iHD" >> /etc/environment
  105.  
  106.     ### 'mkinitcpio' Setup ###
  107. sed -i "s/MODULES=()/MODULES=(i915 ext4)/" /etc/mkinitcpio.conf
  108. sed -i "s/(base udev autodetect modconf block filesystems keyboard fsck)/(base udev autodetect modconf block)/" /etc/mkinitcpio.conf
  109. mkinitcpio -p linux-zen
  110.  
  111.     ### Sound setting ###
  112. amixer sset Master on
  113. amixer sset Capture cap
  114. amixer sset Master 32768
  115. amixer sset Capture 32768
  116. sed -i "s/; high-priority = yes/high-priority = yes/" /etc/pulse/daemon.conf
  117. sed -i "s/; resample-method = speex-float-1/resample-method = copy/" /etc/pulse/daemon.conf
  118. sed -i "s/; default-sample-format = s16le/default-sample-format = s24le/" /etc/pulse/daemon.conf
  119. sed -i "s/; default-sample-rate = 44100/default-sample-rate = 96000/" /etc/pulse/daemon.conf
  120. sed -i "s/; alternate-sample-rate = 48000/alternate-sample-rate = 44100/" /etc/pulse/daemon.conf
  121. sed -i "s/; default-sample-channels = 2/default-sample-channels = 2/" /etc/pulse/daemon.conf
  122.  
  123.     ### "Makepkg" Setup ###
  124. sed -i "s/-march=x86_64 -mtune=generic/-march=native/" /etc/makepkg.conf
  125. sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/' /etc/makepkg.conf
  126. sed -i "s/xz -c -z -/xz -c -z - --threads=0/" /etc/makepkg.conf
  127.  
  128.     ### Disable unnecessary services ###
  129. systemctl mask lvm2-monitor.service
  130. systemctl mask lvm2-lvmetad.service
  131. systemctl mask lvm2-lvmpolld.socket
  132. systemctl mask lvm2-lvmetad.socket
  133. systemctl mask cryptsetup.target
  134.  
  135.     ### Other commands ###
  136. sed -i "s/#SystemMaxUse=/SystemMaxUse=12M/" /etc/systemd/journald.conf
  137. sed -i "s/#Storage=external/Storage=none/" /etc/systemd/coredump.conf
  138. systemctl enable bluetooth.service
  139. systemctl enable upower.service
  140.  
  141.     ### Loading packages from AUR ###
  142. mkdir /home/$USER_NAME/AUR
  143. cd /home/$USER_NAME/AUR
  144. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-remove-dropdown-arrows.tar.gz
  145. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-dash-to-dock.tar.gz
  146. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-arch-update.tar.gz
  147. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/gnome-shell-extension-gsconnect.tar.gz
  148. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/osu-lazer-git.tar.gz
  149. curl --location --remote-name https://aur.archlinux.org/cgit/aur.git/snapshot/pamac-aur.tar.gz
  150. ls *.gz | xargs -n1 tar -xf
  151. rm *.gz
  152.  
  153. exit
  154. END_SETUP
  155.  
  156. chmod +x /mnt/install/setup.sh
  157.  
  158.     ### Chroot ###
  159. arch-chroot /mnt /install/setup.sh
  160.  
  161. rm -r /mnt/install
  162. umount -R /mnt
  163.  
  164. 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"
  165.  
  166.     ### After installing ###
  167. #sudo -u gdm dbus-launch gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
  168. #xsetwacom set 14 Area 5700 4157 15200 9500
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement