My custom desktop setup based on suckless tools, built around dwm. Automated with Ansible, for Debian-based and Fedora distributions.
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
Run all the Ansible playbooks to install all the necessary packages and configurations, and build the tools.
make installBuild all the tools in this repository.
make buildBuild tools individually.
make clipmenu dmenu slock slstatus dwmSet up additional tools for an installation without a desktop environment. (Basically set up xinit)
make barebonesThe 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.
List of services that are set up for this desktop environment:
- keyd - keyboard remapping
- clipmenu - clipboard manager
- powerprofilesctl - power management
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
- 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
- Unify sxhkd and dwmblocks command calls by arranging them to scripts
- Start Xorg from kmscon
- Fix dwm.desktop file

