Set up your own Arch Linux

Introduction

Days ago, my NVIDIA driver crashed after an auto-update on my Ubuntu system, causing several issues including display problems. It took me some time to resolve these issues, and I complained about it on the "Moments" feature of WeChat. One of my friends commented and suggested me to use Arch Linux.

Since I had already installed a Ubuntu-Win11 dual-boot system on my desktop computer and only the Win11 system on my laptop, I decided to install an Arch-Win11 dual-boot system on my laptop. Here, I'm going to share some of my experiences installing and setting up Arch Linux.

1️⃣ Install Arch Linux

1.1 Make a USB boot drive

1.2 Install with "archinstall"

2️⃣ Set up the appearance

2.1 Install extensions

  • AppIndicator and KStatusNotifierItem Support
  • Blur my Shell
  • Burn My Windows
  • Compiz alike magic lamp effect
  • Coverflow Alt-Tab
  • Dash to Dock
  • GNOME Fuzzy App Search
  • Hide Top Bar
  • Window Gestures (for touchpad)

2.2 Install themes

  • Cursor: Adwaita (default)
  • Icons: McMojave-circle-dark
  • Shell: Mojave-Dark
  • Legacy Applications: Mojave-Dark

3️⃣ Useful softwares

3.1 Chrome (Web Browser)

Compared to other browsers, Chrome has lower memory usage, and I also prefer its appearance and synchronization across multiple devices.

To install Chrome, we can use the Arch User Repository (AUR):

1
paru -S google-chrome

3.2 MPV (Media Player)

MPV is a powerful, lightweight, versatile and open-source media player that supports a wide range of video file formats, audio and video codecs, and subtitle types. MPV can implement various commands through the console and shortcuts. Also, MPV supports GPU video decoding, allowing it to be efficient and capable of playing high-resolution video smoothly.

To install MPV, use the following pacman command:

1
sudo pacman -S mpv

After installing, we can edit the config files in ~/.config/mpv. Here is my config:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# input.conf

UP add volume 2
DOWN add volume -2
CTRL+LEFT seek -60
CTRL+RIGHT seek 60
CTRL+UP add brightness 1
CTRL+DOWN add brightness -1

/ seek 0 absolute

1 set speed 1.0
2 set speed 2.0
3 set speed 3.0
4 ignore
5 ignore
6 ignore
7 ignore
8 ignore
1
2
3
4
5
6
7
8
9
10
11
12
# mpv.conf

vo=gpu # use gpu
hwdec=auto # prefer hardware decoding (native mode)
keep-open=yes # pause after playing the last entry in the playlist
save-position-on-quit=yes # save the current playback status when quitting
watch-later-options=start,vid,aid,sid # specify a list of attributes to save the playback status (example: playback position, video, audio, subtitle track numbers)
audio-file-auto=fuzzy # automatically load external audio tracks with similar names
sub-auto=fuzzy # automatically load external subtitles with similar names
profile=high-quality # use a built-in high-quality preset
screenshot-dir="/home/ricky/Pictures/Screenshots" # scrennshot directory path
geometry=1280x720 # default window size
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- ./scripts/LEFT.lua

function perform_seek()
local duration = mp.get_property_number("duration")
if duration then
local skip_percent = 0.04
local seek_time_1 = duration * skip_percent
local seek_time_2 = 4
local seek_time = -math.min(seek_time_1, seek_time_2)
mp.commandv("seek", seek_time, "relative", "exact")
end
end

mp.add_key_binding("LEFT", "on_key_press", perform_seek, {repeatable=true})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- ./scripts/RIGHT.lua

function perform_seek()
local duration = mp.get_property_number("duration")
if duration then
local skip_percent = 0.04
local seek_time_1 = duration * skip_percent
local seek_time_2 = 4
local seek_time = math.min(seek_time_1, seek_time_2)
mp.commandv("seek", seek_time, "relative", "exact")
end
end

mp.add_key_binding("RIGHT", "on_key_press", perform_seek, {repeatable=true})

3.3 Viewnior (Image Viewer)

Viewnior is an lightweight and open-source image viewer designed for simplicity and speed. Viewnior supports a wide range of image formats, including JPEG, GIF, BMP, PNG, and others. At the same time, you can perform some simple image editing operations with Viewnior, such as cropping.

To install Viewnior, use the following pacman command:

1
sudo pacman -S viewnior

3.4 Sioyek (PDF Viewer)

Sioyek is a powerful, lightweight and open-source PDF reader that supports annotation and search functions, including local search and one-click Google search. Sioyek implements Vim-like keyboard shortcuts for operations and supports the use of plugins. The main reason I use Sioyek instead of Evince is its superior performance. When reading large PDF files and trying to copy text, Evince consumes an entire CPU core and freezes, while Sioyek operates smoothly.

To install Sioyek, we can use the AUR:

1
paru -S sioyek

Here is my config:

1
2
3
4
# key_user.config

next_page <right>
previous_page <left>
1
2
3
4
5
6
7
# prefs_user.conf

background_color 0.185 0.185 0.185
text_highlight_color 0.41176 0.69020 1.0
status_bar_color 0.185 0.185 0.185

should_launch_new_window 1 # always open another file in a new window

3.5 Transmission (BitTorrent Client)

Transmission is a fast, lightweight and open-source BitTorrent client, known for its simplicity, efficiency, and minimal resource usage. It is favored by users for its clean, unobtrusive interface that integrates well with desktop environments.

To install Transmission, we can use the AUR:

1
paru -S transmission-gtk

3.6 Syncthing (File Synchronization)

Syncthing is a open-source continuous file synchronization program designed to synchronize files between two or more devices in real time, making it an excellent tool for backups, saving work files across multiple devices, or sharing content with others. Unlike conventional cloud storage solutions, Syncthing does not rely on a central server to store your data; instead, it connects devices directly, ensuring that your data never resides on a server you don’t control.

To install Syncthing, use the following pacman command:

1
sudo pacman -S syncthing

3.7 VS Code (Text Editor)

To install VS Code, we can use the AUR:

1
paru -S visual-studio-code-bin

3.8 F3D (3D Viewer)

F3D is a fast and minimalist open-source 3D viewer. It is primarily designed to be simple yet effective for visualizing various 3D file formats quickly and efficiently.

To install F3D, we can use the AUR:

1
paru -S f3d-bin

Set up your own Arch Linux
https://r1cky.top/2024/07/20/archlinux/
Author
Ricky Ren
Posted on
July 20, 2024
Licensed under