結局antergosのインストーラを使ったので供養です。スクリプトだけである程度何とか出来るようになったので多少の成長を認めた。
#!/bin/bash #---------------------- # reference for all: # https://wiki.archlinux.jp/index.php/インストールガイド # https://github.com/tukiyo/archlinux-autonistaller # https://qiita.com/TsutomuNakamura/items/b60518f8788e5e998744 #---------------------- set -euxo pipefail CHROOT="arch-chroot /mnt" PACMAN="$CHROOT pacman -S --noconfirm" YAY="$CHROOT sudo -u tak0kada yay -S --noconfirm" #---------------------- # partitioning /dev/sda # * sda1 : EFI Filesystem : 512MB # * sda2 : SWAP : 32GB # * sda3 : EXT4 : the rest #---------------------- umount /dev/nvme0n1p1 && : swapoff /dev/nvme0n1p2 && : umount /dev/nvme0n1p3 && : gdisk /dev/nvme0n1 <<EOF o y n 1 +512M EF00 n 2 +32G 8200 n 3 w y EOF #------------- # format #------------- mkfs.vfat -F32 /dev/nvme0n1p1 mkswap /dev/nvme0n1p2 swapon /dev/nvme0n1p2 mkfs.ext4 -F /dev/nvme0n1p3 #------------- # mount #------------- mount /dev/nvme0n1p3 /mnt mkdir /mnt/boot mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi #------------- # system clock #------------- timedatectl set-ntp true #------------- # update mirror #------------- (cd /etc/pacman.d && curl -L "https://www.archlinux.org/mirrorlist/?country=JP&protocol=http&protocol=https&ip_version=4&use_mirror_status=on" -o mirrorlist) sed -i -e 's/#Server/Server/' /etc/pacman.d/mirrorlist sed -i -e 's/## Japan/# Japan/' /etc/pacman.d/mirrorlist #------------- # pacstrap #------------- pacstrap /mnt base base-devel grub efibootmgr os-prober #------------- # genfstab #------------- genfstab -U /mnt >> /mnt/etc/fstab #----------------- # chroot->timezone #----------------- $CHROOT ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime $CHROOT hwclock --systohc --utc #--------------- # chroot->locale #--------------- $CHROOT sed -i -e 's/#ja_JP.UTF-8/ja_JP.UTF-8/' /etc/locale.gen $CHROOT sed -i -e 's/#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen echo LANG=en_US.UTF-8 > /mnt/etc/locale.conf $CHROOT locale-gen #------------------- # chroot->bootloader #------------------- $CHROOT mkinitcpio -p linux $CHROOT grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck $CHROOT sed -i -e 's/^GRUB_TIMEOUT=5$/GRUB_TIMEOUT=1/' /etc/default/grub $CHROOT grub-mkconfig -o /boot/grub/grub.cfg #------------- # chroot->network #------------- # dns (statgenet network hack) cp /etc/resolv.conf /mnt/etc/resolv.conf # lan # wifi $CHROOT pacman -S --noconfirm iw wpa_supplicant dialog networkmanager $CHROOT systemctl enable NetworkManager #---------------------- # chroot->antergos-mirrorlist # reference: # https://takuyaokada.hatenablog.com/entry/20190305/1551758426 #---------------------- $CHROOT curl -OL http://repo.antergos.com/antergos/x86_64/antergos-keyring-20170524-1-any.pkg.tar.xz $CHROOT rm -rf /etc/pacman.d/gnupg $CHROOT pacman -U --noconfirm antergos-keyring-20170524-1-any.pkg.tar.xz $CHROOT pacman-key --init antergos archlinux $CHROOT pacman-key --populate antergos archlinux (cd /mnt/etc/pacman.d && curl -OL https://raw.githubusercontent.com/Antergos/antergos-packages/master/antergos/antergos-mirrorlist/antergos-mirrorlist) (cd /mnt/etc && curl -OL https://raw.githubusercontent.com/Antergos/antergos-iso/master/configs/gnome/pacman.conf) #------------- # yay #------------- $CHROOT pacman-db-upgrade $CHROOT pacman -Syyu --noconfirm $CHROOT pacman -S --noconfirm yay #------------- # add user #------------- $CHROOT useradd -d /home/tak0kada -s /bin/bash -m tak0kada set +e RET=1 until [ ${RET} -eq 0 ]; do $CHROOT passwd tak0kada && RET=0; done set -e $CHROOT usermod -aG wheel tak0kada sed -i -e 's/# %wheel ALL=(ALL) ALL$/%wheel ALL=(ALL) ALL/' /mnt/etc/sudoers #------------- # VGA Driver #------------- $PACMAN nvidia lib32-nvidia-utils #------------- # GNOME Desktop #------------- $PACMAN gnome-shell gdm sed -i -e 's/#WaylandEnable=false/WaylandEnable=false/' /mnt/etc/gdm/custom.conf $CHROOT systemctl enable gdm # equalize power-management between GDM and GNOME $PACMAN nvidia-settings $PACMAN arandr #------------- # watchdog #------------- $PACMAN rtkit $CHROOT systemctl enable rtkit-daemon sed -i -e 's/#DefaultTimeoutStartSec=90s/DefaultTimeoutStartSec=15s/' /mnt/etc/systemd/system.conf sed -i -e 's/#DefaultTimeoutStopSec=90s/DefaultTimeoutStartSec=15s/' /mnt/etc/systemd/system.conf #------------------ # terminal emulator #------------------ $PACMAN xterm #---------------------- # post installation #---------------------- $CHROOT yay -Sc --noconfirm echo "wbox" > /mnt/etc/hostname set +euxo pipeline
#!/bin/bash set -euxo pipefail YAY="yay -S --noconfirm" #------------- # gnome #------------- $YAY gnome-tweaks gnome-shell-extensions chrome-gnome-shell dconf-editor $YAY antergos/numix-circle-icon-theme #------------- # utility #------------- $YAY lilyterm-git peco $YAY neovim code tmux xsel xclip git svn $YAY vim-youcompleteme-git python-neovim python2-neovim $CHROOT pip install cppman $YAY zeal $YAY gparted ghex $YAY tlp lm_sensors $YAY xournal imagej inkscape gimp kolourpaint simple-scan kazam $YAY chromium firefox $YAY libreoffice marp dropbox mendeley file-roller exfat-utils dosfstools libssh openssh $YAY skypeforlinux-stable-bin $YAY hplip $YAY virtualbox virtualbox-guest-modules-arch vagrant vagrant plugin install vagrant-vbguest vagrant-share $YAY docker $CHROOT systemctl enable docker $YAY jupyter $YAY gcc clang cmake boost boost-libs openmp openmpi $YAY python python-pip python-numpy python-matplotlib python-scipy python-sympy python-pandas ipython $YAY r rstudio-desktop-bin pacman -Rs xterm pacman -Sc --noconfirm set +euxo pipeline
#!/bin/bash set -eux CHROOT="arch-chroot /mnt" # PACMAN="$CHROOT pacman -Sy --noconfirm" YAY="$CHROOT sudo -u tak0kada yay -Sy --noconfirm" #------------- # VGA Driver #------------- $PACMAN nvidia lib32-nvidia-utils lib32-nvidia-390xx-utils lib32-nvidia-340xx-utils #------------- # GNOME Desktop #------------- $PACMAN gnome-shell gdm sed -i -e 's/#WaylandEnable=false/WaylandEnable=false/' /mnt/etc/gdm/custom.conf $CHROOT systemctl enable gdm # GDMとGNOMEで同じ電源管理をする $CHROOT IFS=$'\n'; for x in $(sudo -u tak0kada gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS $PACMAN gnome-tweaks gnome-shell-extensions $YAY numix-circle-icon-theme-git $PACMAN chrome-gnome-shell $CHROOT nvidia-xconfig echo "check https://takuyaokada.hatenablog.com/entry/20170327/1490611390" set +eux