52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
|
{ 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;
|
||
|
};
|
||
|
};
|
||
|
}
|