Skip to content
hrvthzsltPublic

About

My custom desktop setup based on suckless tools, built around dwm. Automated with Ansible, for Debian-based distributions.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

DESKTOP

My custom desktop setup based on suckless tools, built around dwm. Automated with Ansible, for Debian-based and Fedora distributions.

Desktop screenshot

Desktop screenshot

Setup

The following tools have their source code included in the repository and need to be built:

  • clipnotify: Dependency for clipmenu
  • clipmenu: Clipboard manager
  • dmenu: Global menu
  • slock: Screen locker
  • slstatus: Status bar
  • dwm: Window manager

Install

Run all the Ansible playbooks to install all the necessary packages and configurations, and build the tools.

make install

Build only

Build all the tools in this repository.

make build

Build tools individually.

make clipmenu dmenu slock slstatus dwm

Set up additional tools for an installation without a desktop environment. (Basically set up xinit)

make barebones

Run

The installation process will create a new session in the display manager, called dwm. Select it, and login.

If you're not using a display manager, you can start the window manager with startx, or run make barebones, which will configure xinit to start dwm in tty1 automatically.

Services

List of services that are set up for this desktop environment:

  • keyd - keyboard remapping
  • clipmenu - clipboard manager
  • powerprofilesctl - power management

Startup

dwm is the entry point for the desktop environment and will start all the other tools.

  • gnome-keyring-daemon - start the keyring daemon
  • autorandr - restore the monitor configuration
  • sxhkd - hotkey daemon
  • dwmblocks - status bar for system information
  • clipmenud - clipboard manager daemon
  • picom - compositor
  • dunst - notification daemon

Keybindings

  • Super + Enter: Terminal - alacritty
  • Super + P: Runner - dmenu
  • Super + Shift + Q: Quit
  • Super + Shift + L: Lock
  • Super + Shift + S: Lock and suspend
  • Super + R: Restore monitor configuration
  • Super + N: Network settings - Start nmtui in a floating window
  • Super + Shift N: Disk Usage - Start ncdu in a floating window
  • Super + U: Bluetooth settings - Start bluetuith in a floating window
  • Super + S: Display settings - arandr
  • Super + V: Sound settings - pavucontrol
  • Super + M: Select power profile - powerprofilesctl
  • Super + Shift + D: Reboot/Shutdown
  • Super + Shift + P: Clipboard manager - clipmenu
  • Super + C: Toggle clipboard manager
  • Super + Shift + C: Clear clipboard
  • Super + A: Close notification - dunst
  • Super + Shift + A: Pause notifications - dunst
  • Super + W: Open web browser - helium
  • Super + E: Show key presses - screenkey
  • Super + Shift + E: Stop showing key presses - screenkey
  • Super + O: Open file browser - thunar
  • Super + Shift + L: Switch keyboard language between us and hu - setxkbmap
  • Super + Shift + T: Switch vpn on/off - tailscale
  • BrightnessUp: Increase brightness - brightnessctl for internal, ddcutil for external monitors
  • BrightnessDown: Decrease brightness - brightnessctl for internal, ddcutil for external monitors
  • Print: Screenshot - flameshot

TODO

  • Unify sxhkd and dwmblocks command calls by arranging them to scripts
  • Start Xorg from kmscon
  • Fix dwm.desktop file

About

My custom desktop setup based on suckless tools, built around dwm. Automated with Ansible, for Debian-based distributions.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages