Skip to content

masajinobe-ef/archlinux-bspwm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arch Linux bspwm сonfiguration

preview

Description

This is my personal Arch Linux BSPWM configuration.

Please ensure that the packages I use suit your needs before installation.

OS Arch Linux
AUR Helper Paru
Shell Zsh
Window Manager bspwm
Bar Polybar
Compositor Picom
Menu Rofi
Terminal Alacritty
File Manager Yazi/Thunar
Browser Chromium
Text Editor Neovim

Installation

AUR Helper

The initial installation of Paru.

$ sudo pacman -Syu --needed neovim reflector git base-devel
$ git clone https://aur.archlinux.org/paru-git.git
$ cd paru && makepkg -si
$ cd ~ && rm -rf paru

Makepkg

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="-j8"

Pacman

Enable parallel downloading of packages by editing the pacman.conf file:

$ sudo nvim /etc/pacman.conf

ParallelDownloads = 8
Color

Clone repository

Clone the repository and update submodules:

$ git clone --depth=1 --recurse-submodules https://github.com/masajinobe-ef/archlinux-bspwm
$ cd archlinux-bspwm && git submodule update --remote --merge

Installing packages

Assuming your AUR Helper is Paru, run:

$ paru -S --needed --noconfirm xorg-server xorg-xinit xorg-xrandr xorg-xsetroot xorg-xset bspwm sxhkd polybar python-pywal rofi chromium 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 xreader thunar tumbler ffmpegthumbnailer polkit-gnome lxappearance-gtk3 neovim mpv mpd mpdris2 ncmpcpp mpc tmux ghq 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 rust 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

Copy configuration files

Copy the configuration files to the appropriate directories:

$ sudo chmod +x sym
$ ./sym

Daemons

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 mpd.service --now

$ sudo systemctl enable reflector.timer
$ sudo systemctl enable fstrim.timer

Setting-up

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

Configure reflector (pacman mirrors):

$ sudo nvim /etc/xdg/reflector/reflector.conf

--save /etc/pacman.d/mirrorlist
--protocol https
--country France,Germany,Finland,Russia,Netherlands
--latest 10
--sort rate
--age 12

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 tmux-sessionizer:

$ cargo install tmux-sessionizer

Install commitizen:

$ npm install -g commitizen cz-conventional-changelog

Install nvm:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

License

This project is licensed under MIT. Please refer to the LICENSE file for detailed license information.