Before entering WM
- Disable the
-debugflag in/etc/makepkg.conf: inoption,!thedebug - Enable
pacmanfeatures in/etc/pacman.conf: uncommentColor, andmultilib - Install
yay- Install pre-request:
$ sudo pacman -Syyu git go - Download
AUR snapshot:$ curl -L -O https://archlinux.org/cgit/aur.git/snapshot/yay.tar.gz - Extract the
snapshotand enter the dir:$ tar -xf yay.tar.gz && cd yay - Make package and install:
$ makepkg && sudo pacman -U *.zst - Git could also be configured:
$ git config --global user.name ?{name}, andgit config --global user.email ?{email}
- Install pre-request:
- Install
restic, recover the backup, and modify some backups:$ yay -S restic;$ restic -r ?{repo_location} recover latest --target ${HOME} - Install WM:
$ yay -S gtk3 hyprland-git kitty - Enter the WM:
$ Hyprland
Configuration of system-base settings and display
- For recording the processes, install
codeandwl-clipboard:$ yay -S code wl-clipboard - Prefer settings in
Hyprlandin{HOME}/.config/hypr/hyprland.conf- Change the scaling in
MONITORS, setmonitor=,preferred,auto,1 - Swap the
escandcapsinINPUT, underinput:kb_options = caps:swapescape - Enable natural scrolling in
INPUT, underinput:touchpad:natural_scroll = true - Enable workspace swipe in
INPUT, undergesture:workspace_swipe = true
- Change the scaling in
- Install I/O &
Hyprland-must packages:$ yay -S xdg-desktop-portal-hyprland-git sof-firmware pipewire-pulse alsa-utils pipewire-alsa pipewire-jack polkit-gnome- In
${HOME}/.config/hypr/hyprland, addexec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
- In
- Adjust the brightness: Give the member of
videogroup the permission to change the backlight- Create
udevrules in/etc/udev/rules.d/backlight.rules:ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video $sys$devpath/brightness", RUN+="/bin/chmod g+w $sys$devpath/brightness" - Add current user to
videogroup:# usermod -aG video ${CURRENT_USER} - Reboot/Re-login
- It is more convenient to create a link to the brightness file:
$ ln -sf /sys/class/backlight/intel_backlight/brightness ./.config/brightnessand direct$ echo ${BRIGHTNESS} > ./.config/brightness
- Create
- Set fonts and dark mode:
$ yay -S gnome-themes-extra adwaita-qt5-git adwaita-qt6-git noto-fonts noto-fonts-cjk ttf-fira-code ttf-nerd-fonts-symbols-mono-
In system settings:
$ gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark $ gsettings set org.gnome.desktop.wm.preferences theme Adwaita-dark $ gsettings set org.gnome.desktop.interface color-scheme prefer-dark $ gsettings set org.gnome.desktop.interface font-name 'Noto Sans 12' $ gsettings set org.gnome.desktop.interface document-font-name 'Noto Sans 12' $ gsettings set org.gnome.desktop.interface monospace-font-name 'Fira Code 12' -
Environmental Vars (in
${HOME}/.config/hypr/hyprland.conf):env = GTK_THEME,Adwaita-dark env = GTK2_RC_FILES,/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc env = QT_STYLE_OVERRIDE,Adwaita-Dark -
Set fonts and cursor in
kitty(in${HOME}/.config/kitty/kitty.conf):font_family Fira Code disable_ligatures always scrollback_lines 8192 foreground green background_opacity 0.75 cursor_trail 1 cursor_trail_decay 0.0 0.3 -
Set
waybar wofi:$ yay -S waybar wofi, andexec-once=waybar, then set your config in${HOME}/.config/waybar/configand${HOME}/.config/waybar/style.css
-
- Time/Date Sync:
$ sudo timedatectl set-ntp true - Reboot:
$ reboot
More packages (applications) and settings
-
Fingerprint:
yay -S libfprint-2-tod1-xps9300-bin fprintdthen addauth sufficient pam_unix.so try_first_pass likeauth nullok, thenauth sufficient pam_fprintd.soto/etc/pam.d/login(afterrequisite) andsudo- Enroll:
# fprintd-enroll ${name} - Delete:
# fprintd-delete ${name} - Verify:
$ fprintd-verify
- Enroll:
-
Power management:
$ yay -S tlp, then edit/etc/tlp.conf -
Btop:
$ yay -S btop, then add `` -
Install and add file manager:
$ yay -S ranger python-pillow(python-pillowto preview images)- In
${HOME}/.config/hypr/hyprland.conf:env = EDITOR, nvim $ ranger --copy-config=rc- In${HOME}/.config/ranger/rc.conf:set preview_images true,set preview_images_method kitty, and addset editor nvim; and$ ranger --copy-config=rifle- In${HOME}/.config/ranger/rifle.conf:ext pdf, has firefox, X, flag g = firefox -- "$@"disable all generic file openers- Set default file manager:
- Make a
/usr/share/applications/ranger-open.desktopwith copyingranger.desktop, then changeTerminal=truetoTerminal=false, andExec=rangertoExec=kitty -T ranger -e ranger %f - Tell the XDG system to use your new
ranger-open.desktopwhen opening folders:$ xdg-mime default ranger-open.desktop inode/directory, verifying with$xdg-mime query default inode/directory
- Make a
- In
-
Install and twick the browser:
$ yay -S firefox, thenbind = $mainMod, b, exec, firefox- Twick
betterfox: Betterfox
- Twick
-
Lock and Blank screen:
$ yay -S hyprlock, thenbind = $mainMod, L, exec, hyprlock & sleep 0.5 && hyprctl dispatcher dpms offto.config/hypr/hyprland.confand addkey_press_enables_dpms = trueundermisc -
Screenshot:
$ yay -S grimblast hyprpicker, thenbind = , PRINT, exec, XDG_SCREENSHOTS_DIR=~/Pictures/.screenshots/ grimblast --freeze copysave area -
Adding Windows Entree: add the following to
/etc/grub.d/40_custom, then# grub-mkconfig -0 /boot/grub/grub.cfgmenuentry "Windows" { insmod part_gpt insmod chain set root='hd0,gpt1' chainloader /EFI/Microsoft/Boot/bootmgfw.efi } -
IBUS Input (Bugs remains):
$ yay -S ibus, then add to~/.config/hypr/hyprland.conf:env = GTK_IM_MODULE,ibus env = QT_IM_MODULE,ibus env = XMODIFIERS,"@im=ibus"
For my work
-
$\LaTeX$:
texlive-latexforpdflatex,texlive-latexrecommendedforamsmath,texlive-latexextrafororcidlink,texlive-fontsrecommendedfor essentials published fonts. -
VSCode-OSS (Using vim now):
$ yay -S codewith extensions:- Markdown: Markdown All in One:
ext install yzhang.markdown-all-in-one; markdownlint:ext install DavidAnson.vscode-markdownlint - $\LaTeX$: LaTeX Workshop:
ext install James-Yu.latex-workshop; GrammarLTeX – LanguageTool grammar/spell checking:ext install valentjn.vscode-ltex - Coding:
$ yay -S gdbforC/C++debugger; Python:ext install ms-python.python; C/C++:ext install ms-vscode.cpptools; GitHub Copilot:ext install GitHub.copilot; Hex(binary viewer):ext install ms-vscode.hexeditor.
- Markdown: Markdown All in One:
-
Blog:
$ yay -S hugofor blogs publishing. -
Paper:
$ yay -S zotero-bin- Google Scholar Style citation key:
auth.lower + year + shorttitle(1).lower - Omit:
month, abstract, langid, file
- Google Scholar Style citation key:
-
Xournal++:
$ yay -S xournalpp -
Network and VPN:
$ yay -S networkmanager-openconnect -
Dictionary:
yay -S goldendict-ng -
Projection
- hdmi: Add to
hyprland.conf:monitor= ,highres,auto,1,mirror, eDP-1 - vnc
yay -S wayvnc novnc websockify$ wayvnc -rR -o eDP-1 0.0.0.0$ novnc --listen 6080 --vnc localhost:5900- Then open on browser
http://<linux_ip>:6080/vnc.html - if secure needed:
https
- hdmi: Add to
Social and Communication
- Telegram:
$ yay -S telegram-desktop - Discord:
$ yay -S webcord-bin