1
0
HON95 2 жил өмнө
parent
commit
6bf993a2eb
1 өөрчлөгдсөн 87 нэмэгдсэн , 54 устгасан
  1. 87 54
      pc/arch-i3.md

+ 87 - 54
pc/arch-i3.md

@@ -51,12 +51,13 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     1. Load: `loadkeys <keymap>` (e.g. `loadkeys no`)
     1. Load: `loadkeys <keymap>` (e.g. `loadkeys no`)
 1. Verify the (UEFI) boot mode:
 1. Verify the (UEFI) boot mode:
     1. Check `efivar --list` or `ls /sys/firmware/efi/efivars`. If either exists, it's in UEFI mode.
     1. Check `efivar --list` or `ls /sys/firmware/efi/efivars`. If either exists, it's in UEFI mode.
-1. Setup networking:
+1. Setup live-OS networking:
     1. (Note) For cabled Ethernet with DHCP, it should already be working. For WLAN or exotic setups, check the wiki.
     1. (Note) For cabled Ethernet with DHCP, it should already be working. For WLAN or exotic setups, check the wiki.
     1. (Optional) Test it somehow (e.g. with `ping` or `curl`).
     1. (Optional) Test it somehow (e.g. with `ping` or `curl`).
-1. Setup time:
+1. Setup live-OS time:
     1. Enable NTP: `timedatectl set-ntp true`
     1. Enable NTP: `timedatectl set-ntp true`
     1. (Optional) Check the "synchronized" line from `timedatectl`.
     1. (Optional) Check the "synchronized" line from `timedatectl`.
+1. If your live-OS is outdated, update the keyring: `pacman -Sy && pacman -S archlinux-keyring`
 1. Partition the main disk (for LUKS encryption):
 1. Partition the main disk (for LUKS encryption):
     1. Find the main disk: `lsblk`
     1. Find the main disk: `lsblk`
     1. (Optional) Overwrite the full disk to get rid of all traces of the previous install: `dd if=/dev/zero of=/dev/<disk> bs=1M conv=fsync status=progress`
     1. (Optional) Overwrite the full disk to get rid of all traces of the previous install: `dd if=/dev/zero of=/dev/<disk> bs=1M conv=fsync status=progress`
@@ -79,7 +80,7 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
 1. Create encrypted root volume (second partition):
 1. Create encrypted root volume (second partition):
     1. (Note) GRUB currently has limited support for LUKS2, so use LUKS1.
     1. (Note) GRUB currently has limited support for LUKS2, so use LUKS1.
     1. Check which cryptohash and encryption algorithms are fastest on the system: `cryptsetup benchmark`
     1. Check which cryptohash and encryption algorithms are fastest on the system: `cryptsetup benchmark`
-    1. Create: `cryptsetup luksFormat --type=luks1 --use-random -h sha256 -i 2000 -c aes-xts-plain64 -s 256 /dev/<partition-2>` (example parameters)
+    1. Create: `cryptsetup luksFormat --type=luks1 --use-random -h sha256 -i 1000 -c aes-xts-plain64 -s 256 /dev/<partition-2>` (example parameters)
     1. Enter the password to unlock the system during boot.
     1. Enter the password to unlock the system during boot.
     1. (Note) There is a later step for avoiding entering the password twice during boot.
     1. (Note) There is a later step for avoiding entering the password twice during boot.
 1. Unlock the encrypted root volume:
 1. Unlock the encrypted root volume:
@@ -90,7 +91,7 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     - Mount root: `mount /dev/mapper/crypt_root /mnt`
     - Mount root: `mount /dev/mapper/crypt_root /mnt`
     - Mount ESP: `mkdir -p /mnt/boot/efi && mount /dev/<partition> /mnt/boot/efi`
     - Mount ESP: `mkdir -p /mnt/boot/efi && mount /dev/<partition> /mnt/boot/efi`
 1. Install packages to the new root:
 1. Install packages to the new root:
-    - Base command and packages: `pacstrap /mnt base linux linux-firmware archlinux-keyring sudo bash-completion man-db man-pages xdg-utils xdg-user-dirs smartmontools zsh vim tar zip unzip htop git jq rsync openssh tmux screen reflector usbutils tcpdump nmap`
+    - Base command and packages: `pacstrap /mnt base linux linux-firmware intel-ucode amd-ucode archlinux-keyring sudo bash-completion man-db man-pages xdg-utils xdg-user-dirs smartmontools lm_sensors zsh vim tar zip unzip htop base-devel git jq rsync openssh tmux screen usbutils tcpdump nmap`
     - **TODO** Maybe for laptops: `wpa_supplicant networkmanager`
     - **TODO** Maybe for laptops: `wpa_supplicant networkmanager`
 1. Generate the fstab file:
 1. Generate the fstab file:
     1. `genfstab -U /mnt >> /mnt/etc/fstab`
     1. `genfstab -U /mnt >> /mnt/etc/fstab`
@@ -102,6 +103,7 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     1. Update the hardware clock (using UTC): `hwclock --systohc`
     1. Update the hardware clock (using UTC): `hwclock --systohc`
     1. Uncomment locales to generate: `vim /etc/locale.gen`
     1. Uncomment locales to generate: `vim /etc/locale.gen`
         - Always include `en_US.UTF-8 UTF-8`.
         - Always include `en_US.UTF-8 UTF-8`.
+        - Norway is `nb_NO.UTF-8 UTF-8`.
     1. Generate selected locales: `locale-gen`
     1. Generate selected locales: `locale-gen`
     1. Set the locale: In `/etc/locale.conf`, set `LANG=<locale>` (e.g. `LANG=en_US.UTF-8`).
     1. Set the locale: In `/etc/locale.conf`, set `LANG=<locale>` (e.g. `LANG=en_US.UTF-8`).
     1. Set the TTY keyboard layout: In `/etc/vconsole.conf`, set `KEYMAP=<keymap>` (e.g. `KEYMAP=no`).
     1. Set the TTY keyboard layout: In `/etc/vconsole.conf`, set `KEYMAP=<keymap>` (e.g. `KEYMAP=no`).
@@ -114,7 +116,6 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     1. Create the initial ramdisk: `mkinitcpio -P`
     1. Create the initial ramdisk: `mkinitcpio -P`
 1. Setup GRUB:
 1. Setup GRUB:
     1. Install bootloader: `pacman -S grub efibootmgr`
     1. Install bootloader: `pacman -S grub efibootmgr`
-    1. Install CPU microcode updates: `pacman -S <x>-ucode` (for `amd` or `intel`)
     1. Enable encrypted disk support: In `/etc/default/grub`, set `GRUB_ENABLE_CRYPTODISK=y`.
     1. Enable encrypted disk support: In `/etc/default/grub`, set `GRUB_ENABLE_CRYPTODISK=y`.
     1. Find the UUID of the encrypted root partition: `blkid`
     1. Find the UUID of the encrypted root partition: `blkid`
     1. Add kernel parameters for the encrypted root (e.g. `/dev/sda2`): In `/etc/default/grub`, in the `GRUB_CMDLINE_LINUX` variable, add `cryptdevice=UUID=<device-UUID>:crypt_root root=/dev/mapper/crypt_root`.
     1. Add kernel parameters for the encrypted root (e.g. `/dev/sda2`): In `/etc/default/grub`, in the `GRUB_CMDLINE_LINUX` variable, add `cryptdevice=UUID=<device-UUID>:crypt_root root=/dev/mapper/crypt_root`.
@@ -123,12 +124,12 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
 1. Exit the chroot and reboot:
 1. Exit the chroot and reboot:
     1. `exit`
     1. `exit`
     1. `reboot`
     1. `reboot`
-1. Wait for the GRUB screen.
+1. Wait for the GRUB screen or decryption prompt.
 
 
 ### Post Install Setup
 ### Post Install Setup
 
 
 1. Boot into the newly installed system:
 1. Boot into the newly installed system:
-    1. Avoid broken display drivers: In the GRUB bootloader menu, press `E` on the main entry and add `nomodeset` at the end of the `linux` line. Press `Ctrl+X` to continue. After proper display drivers are installed, this is no longer required.
+    1. (Optional) Avoid broken display drivers (typically needed for NVIDIA cards): In the GRUB bootloader menu, press `E` on the main entry and add `nomodeset` at the end of the `linux` line. Press `Ctrl+X` to continue. After proper display drivers are installed, this is no longer required.
 1. (Optional) Disable the beeper:
 1. (Optional) Disable the beeper:
     1. Unload the module: `rmmod pcspkr`
     1. Unload the module: `rmmod pcspkr`
     1. Blacklist the module: `echo blacklist pcspkr > /etc/modprobe.d/nobeep.conf`
     1. Blacklist the module: `echo blacklist pcspkr > /etc/modprobe.d/nobeep.conf`
@@ -141,25 +142,27 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     1. Don't wait for network during boot: `systemctl disable systemd-networkd-wait-online.service`
     1. Don't wait for network during boot: `systemctl disable systemd-networkd-wait-online.service`
     1. Add a config for the main interface (or all interfaces): See the section with an example below.
     1. Add a config for the main interface (or all interfaces): See the section with an example below.
     1. (Re)start: `systemctl restart systemd-networkd`
     1. (Re)start: `systemctl restart systemd-networkd`
-    1. Wait for connectivity (see `ip a`).
+    1. Wait for connectivity.
+        - `networkctl` should show the interface as anything but "unmanaged".
+        - `ip a` should show a routable IP address after a few seconds if using DHCP/RA.
 1. Setup DNS server(s):
 1. Setup DNS server(s):
-    1. `echo nameserver 1.1.1.1 >> /etc/resolv.conf` (Cloudflare)
-    1. `echo nameserver 2606:4700:4700::1111 >> /etc/resolv.conf` (Cloudflare)
+    1. `echo "nameserver 1.1.1.1" >> /etc/resolv.conf` (Cloudflare)
+    1. `echo "nameserver 2606:4700:4700::1111" >> /etc/resolv.conf` (Cloudflare)
 1. Setup Pacman:
 1. Setup Pacman:
     1. Enable color: In `/etc/pacman.conf`, uncomment `Color`.
     1. Enable color: In `/etc/pacman.conf`, uncomment `Color`.
     1. Enable the multilib repo (for 32-bit apps): In `/etc/pacman.conf`, uncomment the `[multilib]` section.
     1. Enable the multilib repo (for 32-bit apps): In `/etc/pacman.conf`, uncomment the `[multilib]` section.
 1. Update the system and install useful stuff:
 1. Update the system and install useful stuff:
     1. Upgrade: `pacman -Syu`
     1. Upgrade: `pacman -Syu`
-1. Install display driver:
-    - (Note) For AMD GPUs, Intel GPUs, older NVIDIA GPUs etc., check the Arch wiki.
+1. Install display driver and utils:
     - For NVIDIA Maxwell and newer GPUs: `pacman -S nvidia nvidia-utils nvidia-settings`.
     - For NVIDIA Maxwell and newer GPUs: `pacman -S nvidia nvidia-utils nvidia-settings`.
     - (Optional) For NVIDIA CUDA (in addition to driver): `pacman -S cuda`
     - (Optional) For NVIDIA CUDA (in addition to driver): `pacman -S cuda`
+    - For newer AMD GPUs: `pacman -S mesa xf86-video-amdgpu vulkan-radeon libva-mesa-driver`
 1. Avoid having to enter the encryption password twice during boot:
 1. Avoid having to enter the encryption password twice during boot:
     1. (Note) To avoid entering the password once for GRUB and then for the initramfs, we can create a keyfile and embed it into the initramfs. If the keyfile fails, it will fall back to asking for a password again.
     1. (Note) To avoid entering the password once for GRUB and then for the initramfs, we can create a keyfile and embed it into the initramfs. If the keyfile fails, it will fall back to asking for a password again.
-    1. Secure the boot dir (to protect the embedded key from user processes): `chmod 700 /boot`
+    1. Secure the boot dir (to protect the embedded key in the initramfs): `chmod 700 /boot`
     1. Generate keyfile:
     1. Generate keyfile:
         1. `mkdir -p /root/.keys/luks && chmod 700 /root/.keys`
         1. `mkdir -p /root/.keys/luks && chmod 700 /root/.keys`
-        1. `dd if=/dev/random of=/root/.keys/luks/luks/crypt_root bs=2048 count=1 iflag=fullblock && chmod 600 /root/.keys/luks/crypt_root`
+        1. `dd if=/dev/random of=/root/.keys/luks/crypt_root bs=2048 count=1 iflag=fullblock && chmod 600 /root/.keys/luks/crypt_root`
     1. Add key to LUKS: `cryptsetup luksAddKey /dev/<partition> /root/.keys/luks/crypt_root`
     1. Add key to LUKS: `cryptsetup luksAddKey /dev/<partition> /root/.keys/luks/crypt_root`
     1. Add key to initramfs: In `/etc/mkinitcpio.conf`, set `FILES=(/root/.keys/luks/crypt_root)`.
     1. Add key to initramfs: In `/etc/mkinitcpio.conf`, set `FILES=(/root/.keys/luks/crypt_root)`.
     1. Recreate initramfs: `mkinitcpio -P`
     1. Recreate initramfs: `mkinitcpio -P`
@@ -170,7 +173,7 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
     1. (Note) Both the `wheel` and `sudo` groups are commonly used for giving sudo access, but I personally prefer `sudo` since `wheel` _may_ also be used by polkit rules, su (`pam_wheel`), etc.
     1. (Note) Both the `wheel` and `sudo` groups are commonly used for giving sudo access, but I personally prefer `sudo` since `wheel` _may_ also be used by polkit rules, su (`pam_wheel`), etc.
     1. Install: `pacman -S sudo`
     1. Install: `pacman -S sudo`
     1. Add the sudo group: `groupadd -r sudo`
     1. Add the sudo group: `groupadd -r sudo`
-    1. Enter the config: `EDITOR=vim visudo`
+    1. Enter the config: `visudo`
     1. Add line to allow sudo group without password: `%sudo ALL=(ALL:ALL) NOPASSWD: ALL`
     1. Add line to allow sudo group without password: `%sudo ALL=(ALL:ALL) NOPASSWD: ALL`
     1. (Note) To give users sudo access through the group: `usermod -aG sudo <user>`
     1. (Note) To give users sudo access through the group: `usermod -aG sudo <user>`
 1. Add a personal admin user:
 1. Add a personal admin user:
@@ -223,7 +226,6 @@ Note: The use of `sudo` in the text below is a bit inconsistent, but you should
 ### Setup the Xorg Display Server
 ### Setup the Xorg Display Server
 
 
 1. Install: `sudo pacman -S xorg-server xorg-xinit xorg-xrandr`
 1. Install: `sudo pacman -S xorg-server xorg-xinit xorg-xrandr`
-1. Fix the keyboard layout for X11: `sudo localectl set-x11-keymap <keymap>` (e.g. `no`)
 
 
 ### Setup the LightDM or Ly Display Manager
 ### Setup the LightDM or Ly Display Manager
 
 
@@ -255,14 +257,59 @@ Note: Install _either_ the LightDM (X11 GUI) or Ly (TTY TUI) display manager, no
     1. Install: `sudo pacman -S numlockx`
     1. Install: `sudo pacman -S numlockx`
     1. Configure: Create `/etc/X11/xinit/xinitrc.d/90-numlock.sh`, containing `#!/bin/sh` and `numlockx &`. Make it executable.
     1. Configure: Create `/etc/X11/xinit/xinitrc.d/90-numlock.sh`, containing `#!/bin/sh` and `numlockx &`. Make it executable.
 
 
-### Setup the i3 Window Manager and Stuff
+### Setup the i3 Window Manager Basics
 
 
 1. (Note) Some notes about i3:
 1. (Note) Some notes about i3:
     1. Se [i3](../applications/#i3) for more personal notes about i3.
     1. Se [i3](../applications/#i3) for more personal notes about i3.
-    1. Use `Mod+Shift+R` to reload the i3 config. Note that `exec_always` statements will be run again during reload but `exec` will only run when starting i3.
+    1. Use `Mod+Shift+R` to reload the i3 config.
+    1. Use `Mod+Shift+E` to exit i3.
+    1. `exec_always` config statements will be run again during reload but `exec`statements will only run when starting i3.
+1. Setup fonts:
+    1. Install basic font with emoji support: `sudo pacman -S noto-fonts noto-fonts-emoji`
 1. Install i3:
 1. Install i3:
     1. Install: `sudo pacman -S i3-wm`
     1. Install: `sudo pacman -S i3-wm`
     1. (Note) Vital parts are missing in the i3 config, follow the remaining steps before attempting to use i3.
     1. (Note) Vital parts are missing in the i3 config, follow the remaining steps before attempting to use i3.
+1. Fix the keyboard layout for X11:
+    1. **TODO** (Note) You may need to have an X server running (e.g. i3 started). The server must be restarted before the new layout is used.
+    1. Set: `sudo localectl set-x11-keymap <keymap>` (e.g. `no`)
+1. Install temporary apps to get the remaining of the setup done:
+    1. Install terminal emulator: `sudo pacman -S alacritty`
+    1. Install web browser: `sudo pacman -S firefox`
+1. Test the display server, display manager and window manager and create i3 config:
+    1. (Re)start LightDM/Ly: `sudo systemctl restart lightdm` (or `ly`)
+        - This will pull you directly into the Ly/LightDM TTY (ish), use `Ctrl+Alt+F1` if you need to go back to the previous TTY where you're still logged in to do stuff.
+    1. Select the i3 WM and log in.
+    1. If prompted, follow the basic i3 setup wizard:
+        1. Generate a new config.
+        1. `Win` as default modifier.
+
+### Setup Post-Window Manager Stuff
+
+1. (Laptop) Fix display brightness buttons:
+    1. (Note) This method assumes you can change the brightness by writing a brightness value to `/sys/class/backlight/<something>/brightness` (initially only as root). Test that first.
+    1. Add udev rules to allow changing the brightness through the `video` group:
+        1. In `/etc/udev/rules.d/backlight.rules`, add the following:
+            ```
+            TODO
+            ```
+        1. Add your user to the group: `sudo usermod -aG video <user>`
+        1. Reboot and try writing to the file without root.
+    1. Add a script/program for changing the brightness:
+        1. (Note) Try using the `xorg-xbacklight` first. If that works, just use that instead of this script. On my AMD-GPU laptop it didn't.
+        1. Create a `.local/bin/backlight` script to control the backlight. See the snippet below for the content.
+    1. Add i3 keybinds:
+        1. In the i3 config, add:
+            ```
+            bindsym XF86MonBrightnessUp exec --no-startup-id $HOME/.local/bin/backlight +20%
+            bindsym XF86MonBrightnessDown exec --no-startup-id $HOME/.local/bin/backlight -20%
+            ```
+1. (Laptop) Setup touchpad (Synaptics):
+    1. Install driver: `sudo pacman -S libinput`
+    1. Add touchpad config to Xorg: In `/etc/X11/xorg.conf.d/70-synaptics.conf`, add the config snippet from below. **TODO** see wiki
+1. (Optional) Setup better console font:
+    1. (Note) Using the MesloLGS font. See [this](https://github.com/romkatv/powerlevel10k#fonts) for more info.
+    1. Create the TTF dir: `mkdir -p /usr/share/fonts/TTF`
+    1. Download fonts: `for x in Regular Bold Italic Bold\ Italic; do sudo curl -sSfL "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20${x/ /%20}.ttf" -o "/usr/share/fonts/TTF/$x.ttf"; done`.
 1. Setup the Polybar system bar:
 1. Setup the Polybar system bar:
     1. (Note) i3bar, the default i3 system bar, shows workspaces and tray icons. It can include extra info like IP addresses and resource usage using i3status or i3blocks. Polybar is a replacement for i3bar.
     1. (Note) i3bar, the default i3 system bar, shows workspaces and tray icons. It can include extra info like IP addresses and resource usage using i3status or i3blocks. Polybar is a replacement for i3bar.
     1. Disable i3bar: Comment the whole `bar` section of the i3 config.
     1. Disable i3bar: Comment the whole `bar` section of the i3 config.
@@ -275,7 +322,7 @@ Note: Install _either_ the LightDM (X11 GUI) or Ly (TTY TUI) display manager, no
         - For the bar, comment `radius` to disable rounded corners.
         - For the bar, comment `radius` to disable rounded corners.
         - For the bar, comment `border-size` to disable the padding/border around the bar.
         - For the bar, comment `border-size` to disable the padding/border around the bar.
         - For the date module, customize how time should appear. "Alt" variants are swapped to when the module is clicked.
         - For the date module, customize how time should appear. "Alt" variants are swapped to when the module is clicked.
-        - For the network/"eth" module, use `%local_ip6%` for the IPv6 address (one of them). Maybe clone the module to have one for IPv4 and one for IPv6. Maybe change the color to purple (`#800080`), so it doesn't clash with the Spotify module (if added).
+        - For the network/"eth" module, use `%local_ip6%` for the IPv6 address (one of them). Maybe clone the module to have one for IPv4 and one for IPv6.
         - Update the panel modules in the `modules-{left,center,right}` variables.
         - Update the panel modules in the `modules-{left,center,right}` variables.
     1. Create a startup script: See the section below to use the new "main" bar. Make it executable.
     1. Create a startup script: See the section below to use the new "main" bar. Make it executable.
     1. Add to i3: In the i3 config, add `exec_always --no-startup-id $HOME/.config/polybar/launch.sh`.
     1. Add to i3: In the i3 config, add `exec_always --no-startup-id $HOME/.config/polybar/launch.sh`.
@@ -296,18 +343,6 @@ Note: Install _either_ the LightDM (X11 GUI) or Ly (TTY TUI) display manager, no
     1. Setup i3 drun shortcut: In the i3 config, set `bindsym $mod+d exec rofi -show drun`.
     1. Setup i3 drun shortcut: In the i3 config, set `bindsym $mod+d exec rofi -show drun`.
     1. Setup i3 window shortcut: In the i3 config, set `bindsym $mod+shift+d exec rofi -show window`.
     1. Setup i3 window shortcut: In the i3 config, set `bindsym $mod+shift+d exec rofi -show window`.
     1. Setup i3 emoji shortcut: In the i3 config, set `bindsym $mod+mod1+d exec rofi -modi "emoji:rofimoji" -show emoji`.
     1. Setup i3 emoji shortcut: In the i3 config, set `bindsym $mod+mod1+d exec rofi -modi "emoji:rofimoji" -show emoji`.
-1. Setup fonts:
-    1. Install basic font with emoji support: `sudo pacman -S noto-fonts noto-fonts-emoji`
-    1. (Optional) Download the MesloLGS font (used in examples here): Download the TTF font files from [here](https://github.com/romkatv/powerlevel10k#fonts) and move them into `/usr/share/fonts/TTF/`.
-1. (Optional) Test the display server, display manager and and window manager:
-    1. Restart LightDM/Ly and get pulled into it: `sudo systemctl restart lightdm` or `[...] ly`
-        - Note that you will not be logged out of the PTY, use `Ctrl+Alt+F1` to go back to it and log out.
-    1. Select the i3 WM and log in.
-    1. If prompted, follow the basic i3 setup wizard:
-        1. Generate a new config.
-        1. `Win` as default modifier.
-    1. Test i3: `Mod+Return` to open terminal, `Mod+D` to open app launcher, etc.
-    1. (Optional) Install Firefox to access the web ASAP: `sudo pacman -S firefox`
 1. Setup background image:
 1. Setup background image:
     1. Download a desktop image.
     1. Download a desktop image.
     1. Install the FEH image viewer: `sudo pacman -S feh`
     1. Install the FEH image viewer: `sudo pacman -S feh`
@@ -492,25 +527,6 @@ UseDNS=yes
 UseDomains=yes
 UseDomains=yes
 ```
 ```
 
 
-#### Alacritty Config
-
-File: `~/.config/alacritty/alacritty.yml`
-
-```yaml
-font:
-  # normal:
-  #   family: MesloLGS NF
-  #   style: Regular
-  size: 9
-
-env:
-  TERM: xterm-256color
-
-import:
-  # Theme
-  - ~/.config/alacritty/dracula.yml
-```
-
 #### Polybar Launch Script
 #### Polybar Launch Script
 
 
 File: `~/.config/polybar/launch.sh`
 File: `~/.config/polybar/launch.sh`
@@ -520,10 +536,8 @@ File: `~/.config/polybar/launch.sh`
 
 
 killall -q polybar
 killall -q polybar
 
 
-#polybar main &>>/tmp/polybar.log
-polybar main
-
-echo "Polybar launched"
+#polybar main &>>/tmp/polybar.log &
+polybar main &
 ```
 ```
 
 
 #### Polybar Spotify Module
 #### Polybar Spotify Module
@@ -540,6 +554,25 @@ exec = python /usr/share/polybar/scripts/spotify_status.py -f '{song}' -t 25 -q
 format-underline = #1db954
 format-underline = #1db954
 ```
 ```
 
 
+#### Alacritty Config
+
+File: `~/.config/alacritty/alacritty.yml`
+
+```yaml
+font:
+  # normal:
+  #   family: MesloLGS NF
+  #   style: Regular
+  size: 9
+
+env:
+  TERM: xterm-256color
+
+import:
+  # Theme
+  - ~/.config/alacritty/dracula.yml
+```
+
 #### Rofi Config
 #### Rofi Config
 
 
 file: `~/.config/rofi/config.rasi`
 file: `~/.config/rofi/config.rasi`