Files
i3-dot/README.md
T
2026-09-21 19:05:35 +07:00

228 lines
6.6 KiB
Markdown
Executable File

# i3-stones
## Dependencies
### For i3
- i3wm
- polybar
### For sway
- wl-root
- grim
- slurp
- wl-clipboard
- sway
- swaybg
- waybar
### Others (notifications and icons)
- A Nerd Font (for icons)
- tiramisu
## For brightness and media control:
- brightnessctl (You have to add user to the following groups: video input)
- playerctl
## For screen tearing:
- Fix xorg config with appropriate driver.
- Driver:
- intel: xf86-video-intel
- sudo -e /etc/X11/xorg.conf.d/20-intel.conf
```
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection
```
![stones](./screenshots/Screenshot_20240503_095414.png)
## Installing dependencies
Package availability differs between distros — Arch has everything below in the
official/multilib repos, no AUR needed. Gentoo's main tree is missing a few
newer tools (noted below); those need the [GURU overlay](https://wiki.gentoo.org/wiki/Project:GURU)
or manual/cargo install.
### Window manager & session (both i3 and sway)
**Arch**
```bash
sudo pacman -S i3-wm i3status i3blocks sway swaybg swaylock swayidle \
waybar polybar rofi alacritty dex snixembed \
xss-lock xorg-xset xclip scrot imagemagick i3lock \
network-manager-applet blueman gnome-keyring \
pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack \
pasystray playerctl brightnessctl \
fcitx5 fcitx5-im fcitx5-configtool
```
**Gentoo**
```bash
sudo emerge --ask \
x11-wm/i3 x11-misc/i3status x11-misc/i3blocks \
gui-wm/sway gui-apps/swaybg gui-apps/swaylock gui-apps/swayidle \
gui-apps/waybar x11-misc/polybar x11-misc/rofi x11-terms/alacritty \
x11-misc/dex x11-misc/snixembed \
x11-misc/xss-lock x11-apps/xset x11-misc/xclip media-gfx/scrot \
media-gfx/imagemagick x11-misc/i3lock \
net-misc/networkmanager net-misc/network-manager-applet net-wireless/blueman \
app-crypt/gnome-keyring \
media-video/pipewire media-video/wireplumber media-sound/playerctl \
app-i18n/fcitx app-i18n/fcitx-qt app-i18n/fcitx-gtk
```
- `brightnessctl` is **not in the main Gentoo tree** — install from the GURU
overlay (`sudo emerge --ask brightnessctl`, after enabling GURU below) or
build from source. Add your user to the `video` and `input` groups either way.
- PipeWire's PulseAudio/ALSA/JACK compatibility on Gentoo is controlled by
USE flags (`pulseaudio`/`alsa`/`jack`... check `equery u media-video/pipewire`)
rather than separate packages.
- `pasystray` (systray volume icon) is not in the main tree either; the GURU
overlay or `pavucontrol` are common substitutes.
Enable the GURU overlay once, needed by several packages below:
```bash
sudo eselect repository enable guru
sudo emerge --sync guru
```
### Wayland screenshots, clipboard, and screen sharing (sway)
These are the pieces the Print-key bindings and screen sharing/recording in
`sway/config` depend on — without `xdg-desktop-portal-wlr` specifically,
no app (browser tab share, Discord, OBS) can capture the screen at all.
**Arch**
```bash
sudo pacman -S grim slurp wl-clipboard cliphist \
xdg-desktop-portal xdg-desktop-portal-wlr xdg-desktop-portal-gtk \
wf-recorder obs-studio
```
**Gentoo**
```bash
sudo emerge --ask \
gui-apps/grim gui-apps/slurp gui-apps/wl-clipboard \
sys-apps/xdg-desktop-portal gui-libs/xdg-desktop-portal-wlr sys-apps/xdg-desktop-portal-gtk \
media-video/wf-recorder media-video/obs-studio
```
- `cliphist` (clipboard history) is not in the main tree — GURU overlay.
After installing the portal packages, restart the portal service so it picks
up the new backend:
```bash
systemctl --user restart xdg-desktop-portal
```
### AMD GPU stack (mesa/RADV/amdgpu)
**Arch**
```bash
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon \
xf86-video-amdgpu linux-firmware-amdgpu libvdpau-va-gl
```
Mesa on current Arch already bundles the VA-API driver (`radeonsi_drv_video.so`)
and there's no separate `mesa-vdpau`/`lib32-mesa-vdpau` package anymore —
`libvdpau-va-gl` is the VDPAU-to-VA-API translation layer that replaces it.
**Gentoo**
```bash
# In /etc/portage/make.conf:
# VIDEO_CARDS="amdgpu radeonsi"
sudo emerge --ask media-libs/mesa media-libs/vulkan-loader \
x11-drivers/xf86-video-amdgpu media-video/libvdpau media-libs/libvdpau-va-gl
```
Make sure `mesa` is built with `USE="vulkan"` and, for 32-bit/Steam
compatibility, `ABI_X86="32 64"` in `package.use`.
### Gaming & performance
**Arch**
```bash
sudo pacman -S gamemode lib32-gamemode mangohud lib32-mangohud
```
**Gentoo**
```bash
sudo emerge --ask games-util/gamemode
```
- `mangohud` is **not in the main Gentoo tree** — GURU overlay
(`sudo emerge --ask games-util/mangohud` after enabling GURU).
### GPU monitoring & tuning
**Arch**
```bash
sudo pacman -S radeontop amdgpu_top nvtop lact lm_sensors
```
**Gentoo**
```bash
sudo emerge --ask app-misc/radeontop sys-process/nvtop sys-power/lm-sensors
```
- `amdgpu_top`, `lact`, and `corectrl` (fan curves/overclocking GUIs) are not
in the main tree — GURU overlay, or install `lact`/`amdgpu_top` via `cargo`
since both are Rust tools.
### Razer peripherals (polling rate, DPI, RGB)
**Arch**
```bash
sudo pacman -S openrazer-daemon openrazer-meta polychromatic
sudo gpasswd -a $USER plugdev
```
**Gentoo**
```bash
sudo emerge --ask sys-apps/openrazer
sudo gpasswd -a $USER plugdev
```
- Gentoo ships a single unified `sys-apps/openrazer` package (driver +
daemon together) rather than split `-daemon`/`-meta` packages.
`polychromatic` (GUI) is not in the main tree — GURU overlay.
### Notifications & fonts
**Arch**
```bash
sudo pacman -S ttf-firacode-nerd
# tiramisu (notification daemon) is AUR-only on Arch: yay -S tiramisu
```
**Gentoo**
```bash
sudo emerge --ask media-fonts/nerd-fonts
```
- `tiramisu` is not in the main Gentoo tree — GURU overlay or build from
source (https://github.com/Sweets/tiramisu).
### PipeWire launcher (Gentoo only)
`sway/config` calls `gentoo-pipewire-launcher`, the community launcher script
documented on the [Gentoo PipeWire wiki page](https://wiki.gentoo.org/wiki/PipeWire) —
it's a shell script you place on your `PATH` yourself, not a portage package.
## Vim
### Vimplug
#### Neovim
```
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
```
#### Vim
```sh
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
```
### Conquer of Completion
- Requirements:
- Nodejs
### coc.nvim
```
:CocInstall coc-pairs coc-json coc-tsserver coc-snippets
```
### coc.vimtex
```
:CocInstall coc-vimtex
```