Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/masajinobe-ef/archlinux-bspwm
💻 Arch Linux bspwm config
https://github.com/masajinobe-ef/archlinux-bspwm
alacritty archlinux bspwm chromium dotfiles dunst linux mpd neovim paru picom polybar rofi thunar unixporn yazi zsh
Last synced: 28 days ago
JSON representation
💻 Arch Linux bspwm config
- Host: GitHub
- URL: https://github.com/masajinobe-ef/archlinux-bspwm
- Owner: masajinobe-ef
- License: mit
- Created: 2024-07-25T05:10:40.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-24T08:35:21.000Z (about 2 months ago)
- Last Synced: 2024-09-29T07:40:13.816Z (about 1 month ago)
- Topics: alacritty, archlinux, bspwm, chromium, dotfiles, dunst, linux, mpd, neovim, paru, picom, polybar, rofi, thunar, unixporn, yazi, zsh
- Language: GLSL
- Homepage: https://priscillafx.ru
- Size: 22.2 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arch Linux bspwm сonfiguration
## Description
This is my **personal** _Arch Linux BSPWM_ configuration. Please ensure that the packages I use suit your needs before installation. You can find the [Hotkeys](config/sxhkd/sxhkdrc) here.
| OS | [Arch Linux](https://archlinux.org/) |
| :------------: | :--------------------------------------------------------------: |
| AUR Helper | [Paru](https://github.com/Morganamilo/paru) |
| Shell | [Zsh](https://ohmyz.sh) |
| Window Manager | [bspwm](https://github.com/baskerville/bspwm) |
| Bar | [Polybar](https://github.com/polybar/polybar) |
| Compositor | [Picom](https://github.com/yshui/picom) |
| Menu | [Rofi](https://github.com/davatorium/rofi) |
| Terminal | [Alacritty](https://github.com/alacritty/alacritty) |
| File Manager | [Yazi/Thunar](https://yazi-rs.github.io) |
| Browser | [Chromium](https://archlinux.org/packages/extra/x86_64/chromium) |
| Text Editor | [Neovim](https://neovim.io) |### Installation
#### AUR Helper
The initial installation of [Paru](https://github.com/Morganamilo/paru).
```sh
$ 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):
```sh
$ sudo nvim /etc/makepkg.confMAKEFLAGS="-j8"
```#### Pacman
Enable parallel downloading of packages by editing the `pacman.conf` file:
```sh
$ sudo nvim /etc/pacman.confParallelDownloads = 8
Color
```#### Clone repository
Clone the repository and update submodules:
```sh
$ 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](https://github.com/Morganamilo/paru), run:
```sh
$ paru -S --needed --noconfirm xorg-server xorg-xinit xorg-xrandr xorg-xsetroot xorg-xset bspwm sxhkd polybar python-pywal rofi-greenclip 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 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 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:
```sh
$ sudo chmod +x symlinks.sh
$ ./symlinks.sh
```#### Daemons
Enable and start necessary services:
```sh
$ 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:
```sh
$ sudo nvim /etc/locale.genru_RU.UTF-8 UTF-8
$ sudo locale-gen
```Set the keyboard layout in X11:
```sh
$ sudo localectl --no-convert set-x11-keymap us,ru pc105+inet qwerty grp:caps_toggle
```Configure the mouse settings:
```sh
$ sudo nvim /etc/X11/xorg.conf.d/30-pointer.confSection "InputClass"
Identifier "pointer"
Driver "libinput"
MatchIsPointer "on"
Option "NaturalScrolling" "false"
Option "AccelProfile" "flat"
Option "TransformationMatrix" "1 0 0 0 1 0 0 0 1.6"
EndSection
```Configure reflector (pacman mirrors):
```sh
$ 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
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)
```Consider installing the following plugins for Zsh:
- [powerlevel10k](https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#oh-my-zsh)
- [zsh-autopair](https://github.com/hlissner/zsh-autopair?tab=readme-ov-file#oh-my-zsh)
- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md#oh-my-zsh)
- [zsh-history-substring-search](https://github.com/zsh-users/zsh-history-substring-search?tab=readme-ov-file#install)
- [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#oh-my-zsh)Config tasks
To randomize wallpapers by time using feh, add the following line to your crontab:
```sh
*/5 * * * * DISPLAY=:0 feh --recursive --bg-fill --no-fehbg --randomize ~/Wallpapers/* &
```## License
This project is licensed under MIT. Please refer to the [LICENSE](LICENSE) file for detailed license information.