Hi all, in this video i will show how to full install Arch Linux with Cinnamon Desktop Environment.

  1. The boot mode will be EFI.

  2. I’m assuming you already have the usb stick with the Arch Linux ISO.

  3. My internet is wired, so if you have wireless network, please go to the website that is in the description of this video and see the link to properly configure your network.

I hope you enjoy!

Links

  1. Arch Linux - Wireless Network Config
  2. Localization Guide

1. Pre-Install

1.1 Set Keyboard Layout

The default console keymap is US. Available layouts can be listed with:
```console
$  ls /usr/share/kbd/keymaps/**/*.map.gz 
```

```console
$ loadkeys yourKeyboardLayout  
```


## 1.2 Update the System Clock
```console
$ timedatectl set-ntp true
```

# 1.3 Partitioning the Disk

```console
$ fdisk /dev/yourDevice  
```

# 1.4 Formatting 
use mkfs.ext4, mkfs.fat and mkswap .

# 1.5 Mouting
Use mount and swapon.

2. Installation

2.1 Select the Best Mirrors

```console
$ reflector -c "BR" -f 12 -n 10 -l 12 \
--save /etc/pacman.d/mirrorlist --verbose

$ pacman -Syy
```

My country code is "BR", so you need switch this reflector command parameter
with your correct country code. 

2.2 Install the Base

```console
$ pacstrap /mnt base base-devel linux \
linux-firmware vim sudo networkmanager \
efibootmgr grub mtools 
```

3. Config the System

3.1 Generate fstab

```console
$  genfstab -U /mnt >> /mnt/etc/fstab 
```

3.2 Chroot

```console
$  arch-chroot /mnt 
```

3.3 Timezone

```console
$ ln -sf /usr/share/zoneinfo/Region/City /etc/localtime  
$ hwclock --systohc
```

3.4 Localization

Edit /etc/locale.gen and uncomment your locale. After, generate the locales by running:
```console
$ locale-gen
```
Create the /etc/locale.conf and set the LANG variable:
```console
LANG=en_US.UTF-8   
```
Create /etc/vconsole.conf with your keyboard layout:
```console
KEYMAP=de-latin   
```

3.5 Network Config

Create /etc/hostname with the name your host:
```console
nameFromYourHost   
```
 
Create /etc/hosts:
```console
127.0.0.1   localhost
::1         localhost
127.0.0.1   nameFromYourHost.localdomain nameFromYourHost   
```
Enable Network Manager
```console
$ systemctl enable NetworkManager  
```

3.6 Install GRUB

```console
$ grub-install --target=x86_64-efi \
--efi-directory=/boot/efi \
--bootloader-id=GRUB

$ grub-mkconfig -o \
/boot/grub/grub.cfg  
```

3.7 Set the root Password

```console
$ passwd  
```

3.8 Exit, Umount and Reboot

```console
$ exit
$ umount -a
$ reboot  
```

4. Post-Install

4.1 Create a New User

```console
$ useradd -m -G wheel yourUsername
$ passwd yourUsername  
$ export EDITOR=vim
```
Edit /etc/sudoers run "visudo" and uncomment the following line:
```console
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL   
```

4.2 Install xorg

```console
$ sudo pacman -S xorg  
```

4.2 Install the Display Manager

```console
$ sudo pacman -S gdm
$ sudo systemctl enable gdm
```

4.3 Install Cinnamon

```console
$ sudo pacman -S cinnamon nemo-fileroller \
firefox gnome-terminal pulseaudio 
```

4.4 Reboot

```console
$ reboot  
```

5. Finish