README.md

April 12, 2026 ยท View on GitHub

sway2k

License People Stars Forks Watches Last Updated

Swaying Windows in Wayland ๐ŸŽ๐Ÿ›ฃ

sway2k in action
sway2k in action

My personalized configs for sway window manager, minimalistic in design and optimized for developer productivity and speed.

โœจ Features

  • Optimized for keyboard driven CLI workflow
  • Minimalistic UI, optimized for AMOLED displays

Setup

โšก Requirements

Packages

All the mentioned packages may not be available in your package manager, you might have to install them manually.

# Arch
sudo pacman -S sway foot rofi waybar mako calcurse grim slurp \
jq pulsemixer wf-recorder cliphist wlsunset swappy python btop xorg-xwayland \
qutebrowser xdg-user-dirs kvantum lxappearance rofi-emoji bluetui wdisplays \
swayidle swaylock sway-contrib guvcview pcmanfm mpv imv base-devel \
networkmanager libnotify ttf-firacode-nerd noto-fonts-emoji ttf-roboto

yay themix-full-git topgrade-bin --noconfirm

Highly recommended to use this alongside the following configurations:

๐Ÿš€ Installation

git clone https://github.com/2kabhishek/sway2k
cd sway2k
./install.sh

๐Ÿ’ป Usage

Keybindings

All the configured keybindings can be found in the keybinding manual here.

Theming

Edit theme.conf to customize themes. This will override options selected via lxappearance.

Themix

After installing themix, find BWnB in the Contributed section, click on "Export Theme" and set the export path to ~/.local/share/themes/BWnB

themix can be removed after BWnB gtk theme export

Kvantum

Clone BWnb to a directory. Launch Kvantum Manager and select the BWnB/kvantum/BWnB folder and click install.

If the theme is not installed manually, Kvantum will always open after restart.

Icons

Download Reversal-blue Icons and extract it to ~/.local/share/icons or install the downloaded Reversal-blue.tar.xz file via lxappearance.

Waybar Modules

Comes with a bunch of customized waybar modules

  • menu: app launcher
  • clock: with calendar integration
  • mode: sway modes
  • wf-recorder: screen recorder integration
  • pacman: package manager integration
  • github: GitHub notifications with gh cli
  • clipboard: powered by cliphist
  • temperature: cpu temperatures with sensors
  • cpu: cpu usage in percentage
  • memory: shows used ram
  • idle-inhibitor: controls idle screen turning off
  • battery: shows battery usages and warnings
  • sunset: location based gamma correction
  • backlight: brightness control
  • playerctl: controls media playback
  • pulseaudio: controls audio devices
  • network: network connections powered by nmtui
  • bluetooth: bluetooth adapter controls
  • dnd: mako dnd integrations
  • tray: system tray integration

These modules share their behaviour with tmux2k plugins

  • weather: powered by wttr.in
  • ping: shows ping status of a server
  • gpu: shows GPU usage
  • uptime: shows system uptime

If you want to use the waybar config by itself, you can do so by running:

# To setup waybar separately
ln -sfnv "$PWD/sway2k/waybar" ~/.config/waybar

Behind The Code

๐ŸŒˆ Inspiration

A spiritual successor to awesome2k.

I have been using awesome wm for a while and wanted to try out wayland, so I jumped in to sway!

๐Ÿ’ก Challenges/Learnings

  • Learned about wayland and sway APIs

๐Ÿ” More Info

  • awesome2k โ€” Xorg based tiling wm configs

โญ hit the star button if you found this useful โญ

Source | Blog | Twitter | LinkedIn | More Links | Other Projects