You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 26, 2026. It is now read-only.
Arch Linux rice built around dwl — dwm for Wayland. A minimal, suckless-inspired setup with a patched compositor, a lightweight status bar, and a set of helper scripts.
Features
dwl — hackable Wayland compositor based on wlroots, patched with 16 community patches (autostart, systray, gaps, centeredmaster, movestack, moveresizekb, swapfocus, alwayscenter, attachfocused, bar, bar-notitle, hide_vacant_tags, hide-cursor-when-typing, nextlayout, setupenv, follow)
slstatus — suckless status bar showing WiFi percentage and date/time
foot — fast Wayland terminal (Cascadia Code NF)
tofi — minimalist launcher used as app menu (MOD+p)
mako — lightweight notification daemon
wbg — wallpaper daemon, autostarted by dwl
Helper scripts — clipboard, screenshots, power menu, and brightness control
Liquorix kernel — optional, recommended for low-end hardware
Repository Structure
.
├── config/ # dotfiles deployed to ~/.config
│ ├── foot/ # terminal
│ ├── fontconfig/ # font rendering settings
│ ├── mako/ # notifications
│ ├── tofi/ # launcher
│ └── VSCodium/ # editor settings
├── dwl/ # patched dwl compositor
│ ├── patches/ # 16 applied community patches
│ ├── config.h # dwl configuration
│ ├── systray/ # status bar with systray support
│ └── Makefile
├── slstatus/ # status bar
│ ├── config.h # slstatus configuration
│ └── components/
├── scripts/ # deployed to ~/.local/bin
│ ├── dwl-brightness # backlight control
│ ├── dwl-clipboard # cliphist + tofi clipboard picker
│ ├── dwl-power # suspend/logout/reboot/shutdown menu
│ └── dwl-screenshot # full/window/region screenshots
├── core.pkgs # official repo packages
├── desktop.pkgs # AUR packages
├── fonts.pkgs # font packages
├── install.sh # automated setup script
└── wallpaper # default wallpaper
Requirements
Arch Linux (or an Arch-based distribution using pacman)
An AUR helper for desktop packages (optional): yay, paru, or trizen
A Wayland session (dwl provides it)
Installation
Clone the repository and run the installer:
git clone git@github.com:hanzjefferson/dotfiles.git
cd dotfiles
./install.sh
The installer will:
Prompt you to choose an AUR helper (yay / paru / trizen, or skip AUR packages)
Install official packages from core.pkgs via pacman
Install AUR packages from desktop.pkgs and fonts from fonts.pkgs
Build and install dwl, then copy it into config/dwl/
Back up ~/.config to ~/.config.bak and deploy config/ to ~/.config
Deploy scripts/ to ~/.local/bin and make them executable
Optionally install the liquorix kernel for better low-end performance
To skip specific packages, add their names to a .pkgignore file in the repo root.
Keybindings
MOD is the Super/Windows key.
Launch
Keybinding
Action
MOD + p
Launch app (tofi)
MOD + Return
Open terminal (foot)
MOD + b
Open browser (Brave)
MOD + e
Open file manager (PCManFM)
MOD + Escape
Power menu
MOD + v
Clipboard picker
Screenshot & Brightness
Keybinding
Action
MOD + Print
Full screenshot
MOD + Shift + Print
Region screenshot
MOD + Alt + Print
Window screenshot
XF86MonBrightnessUp
Increase brightness
XF86MonBrightnessDown
Decrease brightness
Focus & Stack
Keybinding
Action
MOD + j / MOD + k
Focus previous / next window
MOD + Shift + j/k
Move window up / down stack
MOD + Tab
Swap focus
Layout
Keybinding
Action
MOD + = / MOD + -
Increase / decrease master count
MOD + h / MOD + l
Decrease / increase master ratio
MOD + /
Zoom (toggle master)
MOD + Space
Next layout
MOD + w
Toggle floating
MOD + f
Toggle fullscreen
MOD + q
Close focused window
MOD + g
Toggle gaps
Move / Resize (floating windows)
Keybinding
Action
MOD + Arrow
Move window 40px
MOD + Shift + Arrow
Resize window 40px
Tags
Keybinding
Action
MOD + 1..4
View tag
MOD + Ctrl + 1..4
Toggle tag view
MOD + Shift + 1..4
Send window to tag
MOD + Ctrl + Shift + 1..4
Send window + keep tag visible
System
Keybinding
Action
MOD + Shift + Escape
Quit dwl
Ctrl + Alt + F1..F12
Switch virtual terminal
Scripts
Script
Description
dwl-brightness
up / down adjusts backlight via brightnessctl
dwl-clipboard
Pick from cliphist history with tofi, paste via wtype
dwl-power
tofi-based suspend / logout / reboot / shutdown menu
dwl-screenshot
full / window / region, saved to ~/Pictures/Screenshots and copied to clipboard
Credits
This setup would not exist without these awesome projects:
dwl — a compact, hackable Wayland compositor based on wlroots, the Wayland counterpart of dwm. dwl · MIT license
slstatus — a suckless status monitor providing system information (WiFi, battery, CPU, memory, and more) over stdout/EWMH. slstatus · MIT license
suckless.org — philosophy and inspiration behind dwm, slstatus, and the "do one thing well" approach
wlroots & sway — foundation and reference implementations that dwl builds upon
dwl-patches community — the patches in dwl/patches/ are adapted from the dwl-patches repository
License
This repository does not ship its own license. The bundled third-party components retain their respective licenses — dwl (MIT), slstatus (MIT), and the wallpaper collection (MIT, see the D3Ext/aesthetic-wallpapers repository).