https://wiki.archlinux.org/index.php/Installation_guide
Make usb install media
sudo cp archlinux.iso /dev/sdX
sudo sync
Connect to the internet
Update the system clock
Partition the disks
When use total disk
lsblk
# create new partition
gdisk /dev/nvme0n1
# format EFI system partition
mkfs.vfat -F 32 /dev/nvme0n1p1
# format root partition
mkfs.ext4 /dev/nvme0n1p2
When dual boot windows
lsblk
gdisk /dev/nvme0n1
# create new partition
gdisk /dev/nvme0n1
# format root partition
mkfs.ext4 /dev/nvme0n1p5
Mount the file systems
mount /dev/nvme0n1p2 /mnt
mkdir /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
Select the mirrors
vim /etc/pacman.d/mirrorlist
Install essential packages
pacstrap /mnt base linux linux-firmware
Fstab
genfstab -U /mnt >> /mnt/etc/fstab
Chroot
Swapfile
dd if=/dev/zero of=/swapfile bs=1M count=8196 status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# /etc/fstab
/swapfile none swap defaults 0 0
Time zone
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
hwclock --systohc
Localization
# uncomment `en_US.UTF-8 UTF-8`
vim /etc/locale.gen
locale-gen
# /etc/locale.conf
LANG=en_US.UTF-8
Network configuration
# /etc/hostname
myhostname
# /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
Root password
Install networkmanager
Install microcode
Install Grub
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
Exit chroot and reboot
systemctl start NetworkManager
useradd -m {user}
passwd {user}
# logout and re-login as {user}
exit
nmcli dev wifi con {ssid} password {password} name {connection name}
curl -O https://raw.githubusercontent.com/sun617/arch-playbook/master/bootstrap.sh
bash bootstrap.sh
git clone https://github.com/choihongil/debian-playbook.git
cd debian-playbook
# Install mac applications
./bootstrap.sh
# setup vagrant
vagrant up
Multiple SSH Keys settings for different github account
Generate ssh key
ssh-keygen -f ~ /.ssh/id_rsa_example
Config ssh
# ~/.ssh/config
Host example.github.com
HostName github.com
IdentityFile ~ /.ssh/id_rsa_example
Config git
# ~/.gitconfig
[includeif " gitdir:~/example/" ]
path = ~ /.gitconfig_example
Additional git config
# ~/.gitconfig_example
[user]
name = name
email = name@example.com
[url " git@example.github.com" ]
insteadOf = git@github.com