{ lib, config, pkgs, ...}: with lib; let cfg = config.wm.xmonad; in { options.wm.xmonad = { enable = mkOption { type = types.bool; default = false; description = "Enable xsessions and xmonad window manager"; }; }; config = mkIf cfg.enable { /* nixpkgs.overlays = [ (self: super: { haskellPackages = super.haskellPackages.override { overrides = (hself: hsuper: { xmonad = hsuper.xmonad_0_17_0; xmonad-contrib = hsuper.xmonad-contrib_0_17_0; xmonad-extras = hsuper.xmonad-extras_0_17_0; }); }; }) ]; */ home.packages = with pkgs; [ xclip # access x clipboard from a console dmenu # menu for x window system flameshot # powerful yet simple to use screenshot software ]; xsession = { enable = true; windowManager.xmonad = { enable = true; enableContribAndExtras = true; }; }; xdg.configFile = { # add config for xmonad window manager # "xmonad/xmonad.hs".source = ../programs/xmonad/xmonad.hs; # "xmobar/xmobar.hs".source = ../programs/xmonad/xmobar.hs; }; }; }