nixos-config/user/wm/xmonad/README.org

1.7 KiB

XMonad

What is XMonad?

XMonad is a tiling window manager written and configured in Haskell. Since I have built up my own XMonad config over a few years, it is extremely efficient for me to operate (since it can be managed fully with the keyboard).

/byteio/nixos-config/media/commit/1c2baeb2491eb7855d088c5f2c68e047c1c66326/user/wm/xmonad/xmonad.png

With my XMonad setup, there are several auxiliary utilities required to make it a "full desktop environment." A few of these packages include:

  • xmobar - Status bar
  • rofi - App launcher
  • alttab - Window switcher
  • feh - Wallpaper utility
  • pavucontrol and pamixer - Sound and volume control
  • networkmanager_dmenu - Internet connection control
  • brightnessctl - Screen brightness control
  • sct - Adjust screen color temperature
  • xkill and killall - Better than hitting Ctrl+Alt+Delete and waiting a few minutes

My Config

This directory includes my XMonad configuration, which consists of:

  • xmonad.hs - Main configuration
  • startup.sh - Startup script called by XMonad on startup
  • lib/Colors/Stylix.hs.mustache - Mustache template used to generate color library to theme XMonad with Stylix
  • xmobarrc.mustache - Mustache template used to generate my xmobar config themed with Stylix
  • xmonad.nix - Loads XMonad and my configuration (along with any necessary packages for my config) into my flake when imported

My full config is a literate org document (xmonad.org).