# Install Archlinux

Install Archlinux is thing I always want to do for my laptop/PC since I had my laptop in ninth grade.

This is not a guide for everyone, this is just save for myself in a future and for anyone who want to taste a bit.

Assume your laptop/PC is UEFI-capable.

## [Installation guide](https://wiki.archlinux.org/index.php/Installation_guide)

First [USB flash installation media](https://wiki.archlinux.org/index.php/USB_flash_installation_media).

### Connect to the internet

Enable wifi:

```sh
wifi-menu
```

### Partition the disks

Identify:

```sh
lsblk
```

Partition:

```sh
cfdisk
```

| Mount point | Partition type       | Suggested size |
| ----------- | -------------------- | -------------- |
| /mnt/boot   | EFI system partition | 1 GiB          |
| /mnt        | Linux                |                |
| /mnt/home   | Linux                |                |

Read [EFI system partition](https://wiki.archlinux.org/index.php/EFI_system_partition)

### Boot loader

[systemd-boot](https://wiki.archlinux.org/index.php/Systemd-boot)

## [General recommendations](https://wiki.archlinux.org/index.php/General_recommendations)

Always remember to check **dependencies** when install packages.

### System administration

Read [Users and groups](https://wiki.archlinux.org/index.php/Users_and_groups).

Read [fish](https://wiki.archlinux.org/index.php/fish).

Read [Sudo/Using visudo](https://wiki.archlinux.org/index.php/Sudo#Using_visudo).

```sh
useradd -m -G additional_groups -s login_shell username
```

| abstract            | implement       |
| ------------------- | --------------- |
| `additional_groups` | `wheel`         |
| `login_shell`       | `/usr/bin/fish` |

### Graphical user interface

Display server: [Xorg](https://wiki.archlinux.org/index.php/Xorg).

Desktop environments: [GNOME](https://wiki.archlinux.org/index.php/GNOME).

Display manager: [GDM](https://wiki.archlinux.org/index.php/GDM), start/enable service:

```sh
systemctl start gdm.service

systemctl enable gdm.service
```

### Networking

Network configuration: [NetworkManager](https://wiki.archlinux.org/index.php/NetworkManager), start/enable service:

```sh
systemctl start NetworkManager.service

systemctl enable NetworkManager.service
```

Clock synchronization: [systemd-timesyncd](https://wiki.archlinux.org/index.php/Systemd-timesyncd):

```sh
timedatectl set-ntp true
```

### Optimization

Read [Solid state drive](https://wiki.archlinux.org/index.php/Solid_state_drive).

Read [Improving performance/Watchdogs](https://wiki.archlinux.org/index.php/Improving_performance#Watchdogs).

Read [Improving performance/Staggered spin-up](https://wiki.archlinux.org/index.php/Improving_performance/Boot_process#Staggered_spin-up).

Read [Silent boot](https://wiki.archlinux.org/index.php/Silent_boot).

### Appearance

Read [Fonts](https://wiki.archlinux.org/index.php/Fonts).

### Misc

[Swap/systemd-swap](https://wiki.archlinux.org/index.php/Swap#systemd-swap)

[systemd/Journal](https://wiki.archlinux.org/index.php/Systemd/Journal)

## [List of applications](https://wiki.archlinux.org/index.php/List_of_applications)

## In the end

This guide is updated regularly I promise.