# void-dwm-dots

My dwm-flexipatch, dmenu & st (and other) dotfiles for my Void Linux setup.

If you wanna read more about setting up Void Linux itself, [read here](https://mandy.codeberg.page/guides/).

![Preview of the riced desktop](2026-08-06-001509_1920x1200_scrot.png)

# Dependencies

**These are how the packages are named in the Void Linux repos.**

## Optional dependencies

Stuff that I personally use, but are not detrimental to the rice.

* Fetchers:
    * `fastfetch`
* Media:
    * `ffmpeg`
    * `mpv` (or `vlc`)
    * `kew` ([read more here](http://kewplayer.com/))
    * `krita`
* Video Editing:
    * `kdenlive`
    * `avidemux`
    * `shotcut`
* Tools:
    * `xtools`
    * `libwebp-tools`
    * `neovim`
    * `android-file-transfer-linux`
    * `cherrytree`
    * `7zip` (or `zip`)
    * `clipmenu`
    * `pulsemixer`
* Wallets:
    * `electrum`
    * [Monero GUI](https://flathub.org/en/apps/org.getmonero.Monero) (Flatpak)
* Fonts:
    * `amiri-font`
    * `noto-fonts-emoji`
    * `noto-fonts-cjk`

## Needed dependencies

`git` first of all for cloning the repo.

* Compiling
    * `xorg`
    * `base-devel`
    * `pkg-config`
    * `libX11-devel`
    * `libXft-devel`
    * `libXinerama-devel`
* Notifications
    * `libnotify`
    * `dunst`
* Nightlight
    * `redshift`
* Wallpaper & Image viewer
    * `feh`
* Screenshotting
    * `scrot`
    * `xclip`
* Reading

    I use zathura with 3 different backends.
    * `zathura`
    * `zathura-pdf-mupdf` `zathura-djvu` `zathura-cb`
    * `webp-pixbuf-loader` (for .webp support)

    My [zathurarc](.config/zathura/zathurarc) uses inverted colors (basically dark mode) by default, and you can switch between normal and inverted colors with `i`. It also enables clipboard support.
* File manager
    
    I use ranger with image previews from the kitty graphics protocol patch for `st`.
    * `ranger`
    * `imlib2-devel` `python3-Pillow` `kitty-terminfo`
    * `atool`
    
    **Add this alias to your `.bashrc` or equivalent:**

    ```bash
    # kitty graphics protocol
    alias ranger="TERM=xterm-kitty ranger"
    ```

# dwm/dmenu/st

### Clone the repo
```bash
git clone https://codeberg.org/Mandy/void-dwm-dots
```

## dwm-flexipatch 6.8 (2bb919e, 2026-03-08)

I use dwm-flexipatch because... Just because, okay?
Anyways the patches enabled in `patches.def.h` are:

* All the defaults are left enabled
* [savefloats](https://dwm.suckless.org/patches/save_floats/)
* [vanitygaps](https://dwm.suckless.org/patches/vanitygaps/)

And a custom patch added by me:
* **scrotclipboard** -- Adds functionality for using `scrot` with `xclip` with `mod+s` for fullscreen shots and `mod+shift+s` for selection mode

My non-default keybinds are:

* `mod+q` --> killclient
* `mod+a` --> dmenu_run

### This is what my [.xinitrc](.xinitrc) will run:

```bash
# nightlight
redshift -O 2500

# wallpaper
feh --bg-scale "/home/REPLACETHISWITHYOURUSER/Pictures/Wallpapers/Tagaki - Steins;Gate.jpg" &

# audio
pipewire &

# kb layout
setxkbmap -layout us,bg,ara -variant ,phonetic, -option grp:shifts_toggle &

# clipboard history
clipmenud &

# 24-hour clock
while true; do
    xsetroot -name " $(date +'%H:%M') "
    sleep $(( 60 - $(date +%-S) ))
done &

# dwm & D-Bus
exec dbus-run-session dwm
```

## dmenu 5.4

Nothing special.

## st 0.9.3

Patched with [st-kitty-graphics](https://st.suckless.org/patches/kitty-graphics-protocol/) for ranger's image previews, otherwise nothing special as well.

## .bash_profile

If you want dwm to start on login without a display manager, add this to the bottom of your `~/.bash_profile`:

```bash
# Autostart
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
	exec startx
fi
```