OS | Arch Linux |
---|---|
AUR Helper | yay |
Shell | zsh |
Window Manager | i3 |
Compositor | picom |
Menu | rofi |
Terminal | alacritty |
File Manager | yazi / thunar |
Browser | thorium |
Text Editor | neovim |
The initial installation of yay.
$ sudo pacman -Syu --needed neovim reflector git base-devel
$ git clone https://aur.archlinux.org/yay.git
$ cd yay && makepkg -si
$ cd ~ && rm -rf yay
To speed up the compilation of packages, edit the makepkg.conf
file (use nproc for see amount of CPU cores):
$ sudo nvim /etc/makepkg.conf
MAKEFLAGS="-j4"
Enable parallel downloading of packages by editing the pacman.conf
file:
$ sudo nvim /etc/pacman.conf
ParallelDownloads = 8
Clone the repository and update submodules:
$ git clone --depth=1 --recurse-submodules https://github.com/masajinobe-ef/.dotfiles
$ cd .dotfiles && git submodule update --remote --merge
Assuming your AUR Helper is yay, run:
yay -S --needed --noconfirm \
xorg-server xorg-xinit xorg-xrandr xorg-xsetroot xorg-xset \
i3-wm i3status rofi thorium-browser-bin alacritty zsh dunst libnotify picom feh \
vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader \
lib32-vulkan-icd-loader mesa mesa-utils mesa-vdpau \
libva-mesa-driver lib32-mesa networkmanager nm-connection-editor \
sof-firmware bluez bluez-utils acpid cronie udisks2 \
xdg-user-dirs yazi perl-image-exiftool ueberzugpp imagemagick \
thunar tumbler ffmpegthumbnailer polkit-gnome \
lxappearance-gtk3 neovim mpv mpd mpdris2 ncmpcpp mpc \
tmux tmuxp tldr ghq rainfrog syncthing git lazygit stow yt-dlp \
ffmpeg fastfetch btop eza fzf fd ripgrep bat bat-extras \
rsync curl wget maim xdotool xclip zoxide aria2 hyperfine \
xsel reflector jq man-db poppler ccache go rustup nodejs \
npm yarn p7zip unrar zip unzip ttf-jetbrains-mono-nerd \
noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-cascadia-code-nerd \
papirus-icon-theme
Enable and start necessary services:
$ sudo systemctl enable acpid.service --now
$ sudo systemctl enable NetworkManager.service --now
$ sudo systemctl enable bluetooth.service --now
$ sudo systemctl enable sshd.service --now
$ sudo systemctl enable cronie.service --now
$ systemctl --user enable syncthing.service --now
$ systemctl --user enable mpd.service --now
$ sudo systemctl enable fstrim.timer
Install Oh My Zsh:
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Consider installing the following plugins for Zsh:
Install commitizen:
$ npm install -g commitizen commitizen-cli cz-conventional-changelog cz-customizable
Install uv:
$ curl -LsSf https://astral.sh/uv/install.sh | sh
Add languages to your system:
$ sudo nvim /etc/locale.gen
ru_RU.UTF-8 UTF-8
$ sudo locale-gen
Set the keyboard layout in X11:
$ sudo localectl --no-convert set-x11-keymap us,ru pc105+inet qwerty grp:caps_toggle
Configure the mouse settings:
$ sudo nvim /etc/X11/xorg.conf.d/30-pointer.conf
Section "InputClass"
Identifier "pointer"
Driver "libinput"
MatchIsPointer "on"
Option "NaturalScrolling" "false"
Option "AccelProfile" "flat"
Option "TransformationMatrix" "1 0 0 0 1 0 0 0 2"
EndSection