Krolyxon
Commit 5d5e4a3

Branches

Refs →

arch-installarch_install.md

209 lines · 4.4 KB · Markdown

1# Arch Install
2
3## Connect to Internet
4If you are using wifi, use [iwd](https://wiki.archlinux.org/title/Iwd)
5```
6device list
7station *device* get-networks
8station *d
9```
10
11## Install Guide
12
131. Turn on parallel downloads
14``sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf``
15
162. Install archlinux keyring
17``pacman --noconfirm -Sy archlinux-keyring``
18
193. Load layout, set time
20```
21loadkeys us
22timedatectl set-ntp true
23```
24
254. Create ext4, efi, swap partition
26```
27lsblk
28cfdisk /dev/sdx or /dev/nvme0x
29
30# Efi partition
31mkfs.fat -F32 $efipartition
32
33# Swap partition
34mkswap $swappartition
35swapon $swappartition
36
37# ext4 partition
38mkfs.ext4 $partition
39```
40
415. Mount linux partition to /mnt
42``mount $partition /mnt``
43
446. Pacstrap
45```
46pacstrap /mnt base base-devel linux linux-firmware
47```
48
497. genstab
50```
51genfstab -U /mnt >> /mnt/etc/fstab
52```
53
548. chroot
55```
56arch-chroot /mnt
57```
58
599. set timezone
60```
61ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
62```
63
6410. set hardware clock from system clock
65```
66hwclock --systohc
67```
68
6911. set locale
70```
71echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
72locale-gen
73echo "LANG=en_US.UTF-8" > /etc/locale.conf
74echo "KEYMAP=us" > /etc/vconsole.conf
75```
76
7712. set hostname
78```
79echo $hostname > /etc/hostname
80echo "127.0.0.1 localhost" >> /etc/hosts
81echo "::1 localhost" >> /etc/hosts
82echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts
83```
84
8513. Initramfs
86```
87mkinitcpio -P
88```
89
9014. Set root password
91```
92passwd
93```
94
9515. install grub
96```
97pacman --noconfirm -S grub efibootmgr os-prober
98mkdir /boot/efi
99mount $efipartition /boot/efi
100
101grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux --recheck
102
103sed -i 's/quiet/pci=noaer/g' /etc/default/grub
104sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub
105
106grub-mkconfig -o /boot/grub/grub.cfg
107```
108
10916. Install all the required user packages
110```
111pacman -S --noconfirm xorg-server xorg-xprop xorg-xkill xorg-xsetroot xorg-xinit \
112 noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono-nerd ttf-font-awesome \
113 awesome-terminal-fonts bat libnotify dunst ntfs-3g \
114 jq mpv ncdu maim transmission-cli yt-dlp cowsay \
115 pacman-contrib pavucontrol rsync ripgrep ueberzug ffmpegthumbnailer python-pywal \
116 imlib2 xdotool xwallpaper zip unzip wget pcmanfm \
117 fzf man-db pipewire pipewire-pulse xcompmgr pamixer \
118 xclip sxhkd imagemagick lf connman wpa_supplicant git dash arc-gtk-theme papirus-icon-theme \
119 neovim lua rustup xdg-user-dirs mpd ncmpcpp unclutter \
120 zsh zsh-autosuggestions zathura zathura-pdf-poppler
121```
122
12317. Enable networkmanager or connman
124```
125# network manager
126systemctl enable NetworkManager.service
127
128# connman
129systemctl enable connman.service
130```
131
13218. set shell
133```
134rm /bin/sh
135ln -s dash /bin/sh
136```
137
13820. Set user permissions
139```
140echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers
141```
142
14321. Create user
144```
145useradd -m -G wheel -s /bin/zsh $username
146passwd $username
147```
148
14922. Setup dotfiles
150```
151cd $HOME
152git clone --separate-git-dir=$HOME/.dotfiles git@github.com:krolyxon/dotfiles.git tmpdotfiles
153rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/
154rm -r tmpdotfiles
155```
156
15723. dwm : Window Manager
158```
159git clone --depth=1 git@github.com:krolyxon/dwm.git ~/.local/src/dwm
160sudo make -C ~/.local/src/dwm install
161```
162
16324. dwmblocks: statusbar
164```
165git clone --depth=1 git@github.com:krolyxon/dwmblocks.git ~/.local/src/dwmblocks
166sudo make -C ~/.local/src/dwmblocks install
167```
168
16925. st: Terminal
170```
171git clone --depth=1 git@github.com:krolyxon/st-luke.git ~/.local/src/st
172sudo make -C ~/.local/src/st-luke install
173```
174
17526. dmenu: Program Menu
176```
177git clone --depth=1 git@github.com:krolyxon/dmenu.git ~/.local/src/dmenu
178sudo make -C ~/.local/src/dmenu install
179```
180
18127. nsxiv: image viewer
182```
183git clone --depth=1 git@github.com:krolyxon/nsxiv.git ~/.local/src/nsxiv
184sudo make -C ~/.local/src/nsxiv install
185```
186
18728. nvim: Text editor
188```
189git clone --depth=1 git@github.com:krolyxon/nvim.git ~/.config/nvim
190```
191
19229. paru: AUR helper
193```
194git clone https://aur.archlinux.org/paru-bin.git && cd paru-bin && makepkg -sri && cd .. && rm -rf paru-bin
195paru -S --noconfirm htop-vim zsh-fast-syntax-highlighting-git keyd-git librewolf-bin
196```
197
19830. set zsh as default shell
199```
200chsh -s $(which zsh)
201```
202
20331. some symlinks and git alias
204```
205ln -s ~/.config/x11/xinitrc .xinitrc
206ln -s ~/.config/shell/profile .zprofile
207alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
208dots config --local status.showUntrackedFiles no
209```