Skip to content

Latest commit

 

History

History
321 lines (234 loc) · 20.2 KB

SETUP.md

File metadata and controls

321 lines (234 loc) · 20.2 KB

Setup pacman wrapper

Package Description
yay Yet Another Yogurt - An AUR Helper Written in Go.
# Install git
sudo pacman -S git

# Download and install yay
mkdir Downloads && \
cd Downloads && \
git clone https://aur.archlinux.org/yay.git && \
cd yay && \
makepkg -si

Setup window manager

Package Description
Xorg Xorg (commonly referred to as simply X) is the most popular display server among Linux users.
Alacritty A cross-platform, GPU-accelerated terminal emulator.
Picom A lightweight compositor for X11.
Slock A simple screen locker for X.
Xss-lock Use external locker as X screen saver.
Awesomewm A highly configurable, next generation framework window manager for X.
# X system, compositor, terminal, screen locker, and window manager
yay -S xorg picom alacritty slock xss-lock awesome-git

Setup display manager

Package Description
LightDM Very light and fast display manager.
LightDM GTK Greeter A greeter that has moderate requirements (GTK).
# Install lightdm
yay -S lightdm lightdm-gtk-greeter

# Enable and start lightdm service
sudo systemctl enable --now lightdm.service

Setup video driver

Identify the graphics card (the Subsystem output shows the specific model).

lspci -v | grep -A1 -e VGA -e 3D

Consult Archlinux Wiki for correct video drivers installation.

# Example with NVIDIA
yay -S nvidia nvidia-settings

# (re-)generate all existing presets
sudo mkinitcpio -P

Setup sound driver

Package Description
PipeWire A new low-level multimedia framework. It aims to offer capture and playback for both audio and video with minimal latency and support for PulseAudio, JACK, ALSA and GStreamer-based applications.
pavucontrol PulseAudio Volume Control.
# Install pipewire
yay -S pipewire wireplumber pipewire-audio pipewire-alsa pipewire-pulse pipewire-jack pavucontrol

# Enable and start pipewire’s services
systemctl enable --user --now pipewire pipewire-pulse

Restart system and login again

Clone .dotfiles repository and setup

# Clone dotfiles and setup
cd ~ && git clone https://github.com/HoNamDuong/.dotfiles.git && cd ~/.dotfiles && ./setup

# Create file config
mkdir -p .config/git
touch ~/.config/git/config

# Optional
git config --global credential.helper "store --file ~/.config/git/.git-credentials"
git config --global core.autocrlf false
git config --global user.email "[email protected]"
git config --global user.name "username"

Install theme, icon, cursor, font and tools

Package Description
LXAppearance Feature-rich GTK+ theme switcher of the LXDE Desktop.
Qt5ct Qt5 Configuration Utility.
Orchis theme A Material Design theme for GNOME/GTK based desktop environments.
Papirus icon theme A free and open source SVG icon theme for Linux.
Vimix cursor theme An X Cursor theme inspired by Material design and based on capitaine-cursors.
# Application for Qt and Gtk
yay -S lxappearance qt5ct

# Install theme, icon, cursors
yay -S  orchis-theme papirus-icon-theme vimix-cursors

# Install font
yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
yay -S ttf-hack-nerd ttf-roboto-mono-nerd

Install package and applications

Package (GUI) Description
ARandR ARandR is designed to provide a simple visual front end for XRandR.
LSHW A small tool to provide detailed information on the hardware configuration of the machine.
Seahorse GNOME application for managing PGP keys.
Nitrogen Background browser and setter for X windows.
Network Manager Applet Tray applet and an advanced network connection editor.
Rofi A window switcher, application launcher and dmenu replacement.
IBus Bamboo Next Generation Input Bus for Linux.
Viewnior Fast and elegant image viewer.
Mpv A free, open source, and cross-platform media player.
Spotify A proprietary music streaming service.
Zathura A highly customizable and functional document viewer.
Google Chrome The popular web browser by Google (Stable Channel).
Thunderbird Thunderbird is a free email application that's easy to set up and customize - and it's loaded with great features.
Qalculate The ultimate desktop calculator.
Magnifiqus Qt based screen magnifier.
Screenkey A screencast tool to display your keys inspired by Screenflick.
Gucharmap The GNOME Character Map, based on the Unicode Character Database.
Gpick Advanced color picker and palette editor.
Onboard On-screen keyboard useful on tablet PCs or for mobility impaired users
GIMP GNU Image Manipulation Program.
Inkscape Professional vector graphics editor.
Package (CLI) Description
tmux A terminal multiplexer.
tig Text-mode interface for Git.
bat Cat clone with syntax highlighting and git integration.
lsd GNU ls with lots of added features like colors, icons, tree-view, more formatting options etc.
tree A directory listing program displaying a depth indented list of files
ranger Ranger is a console file manager with VI key bindings.
fzf A command-line fuzzy finder.
playerctl For true players only: vlc, mpv, RhythmBox, web browsers, cmus, mpd, spotify and others.
xclip Command line interface to the X11 clipboard.
numlockx Turns on the numlock key in X11.
scrot Command line screen capture utility.
btop A monitor of system resources, bpytop ported to C++.
neofetch A command-line system information tool written in bash 3.2+
cava Cross-platform Audio Visualizer.
cmatrix Matrix like effect in your terminal.
pipes.sh Animated pipes terminal screensaver.
yay -S \
tmux tig lsd tree fzf bat ripgrep fd wget \
ranger-git w3m imagemagick \
btop htop cmatrix cava pipes.sh neofetch \
xdg-user-dirs xclip numlockx scrot playerctl \
gnome-keyring seahorse polkit-gnome \
rofi arandr network-manager-applet \
nitrogen qalculate-gtk magnifiqus screenkey gucharmap gpick lshw onboard \
viewnior webp-pixbuf-loader \
mpv yt-dlp mpv-mpris \
spotify zenity ffmpeg4.4 \
zathura zathura-pdf-mupdf \
google-chrome discord telegram-desktop thunderbird \
visual-studio-code-bin postman-bin dbeaver gimp inkscape \
minecraft-launcher

Setup shell

Package Description
zsh A shell designed for interactive use, although it is also a powerful scripting language.
zoxide A smarter cd command, inspired by z and autojump
# Install zsh
yay -S zsh zsh-autosuggestions-git zsh-syntax-highlighting-git zsh-completions-git zsh-autopair-git zoxide

# Set zsh as default shell
chsh -s $(which zsh)

Setup text editor

Package Description
nvim Hyperextensible Vim-based text editor.
# Deployment and management
yay -S nodejs npm yarn luarocks tree-sitter-cli lazygit

# Install
yay -S neovim

# Check version of Neovim
nvim -v

Setup file manager

Package Description
Nemo Nemo is the file manager.
# Install
yay -S nemo nemo-fileroller nemo-mediainfo-tab ntfs-3g gvfs-mtp gvfs-gphoto2

Change the default terminal emulator for Nemo

gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty
gsettings set org.cinnamon.desktop.default-applications.terminal exec-arg -e

Fix open file in a terminal

# Make symbolic links
ln -s $(which alacritty) ~/.local/bin/xterm

# Remove
rm ~/.local/bin/xterm

Setup bluetooth

Package Description
BlueZ Daemons for the bluetooth protocol stack.
Blueman GTK+ Bluetooth Manager.
# Install bluez, blueman
yay -S bluez bluez-utils bluez-obex blueman

# Enable and start bluetooth services
sudo systemctl enable --now bluetooth.service

Setup printer and scanner

Package Description
system-config-printer A CUPS printer configuration tool and status applet.
simple-scan Simple scanning utility.

Printer

yay -S cups system-config-printer

After installing these enable and start the cups.service in systemd.

sudo systemctl enable --now cups.service

Add user to the group lg:

sudo usermod -aG lp $USER

Search and install driver for your printer here.

Scanner

yay -S sane simple-scan

Check if the scanner is detected with correct driver installed.

scanimage -L

Setup crontab

Package Description
cronie Daemon that runs specified programs at scheduled times and related tools.
# Install
yay -S cronie

# Enable and start
sudo systemctl enable --now cronie.service

# Edit crontab
crontab -e

# Example of job definition
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
*  *  *  *  * user-name  command to be executed

# Example job randomize wallpaper
*/10 * * * * export DISPLAY=:0.0 && /bin/date && /usr/bin/nitrogen --set-zoom-fill --random --save &> /dev/null

Setup docker

Package Description
docker Pack, ship and run any application as a lightweight container.
# Install packages
yay -S docker docker-compose

# Enable and start docker service
sudo systemctl enable docker.service

# Verify that Docker is running using the status option
sudo systemctl status docker.service

# Add the current user account to the Docker group using the following command
sudo usermod -aG docker $USER

Setup VirtualBox

Package Description
virtualbox Powerful x86 virtualization for enterprise as well as home use.
# Install packages
yay -S linux-headers virtualbox

# Add user to the vboxusers group
sudo gpasswd -a $USER vboxusers

# Load the VirtualBox kernel modules
sudo modprobe vboxdrv

VirtualBox/Install Arch Linux as a guest here