about summary refs log tree commit diff
path: root/home/wm/default.nix
blob: 27a8bf4e538e6f76cea745254e9649bf79a9ce24 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{ config, lib, pkgs, ... }:
let
  mkRelatedOption = description: relatedWMs:
    let isActivatedWm = wm: config.my.home.wm.windowManager == wm;
    in (lib.mkEnableOption description) // {
      default = builtins.any isActivatedWm relatedWMs;
    };
in {
  imports = [ ./sway ./waybar ./mako ./swaylock ./wofi ./gammastep ];
  options.my.home.wm = with lib; {
    windowManager = mkOption {
      type = with types; nullOr (enum [ "sway" ]);
      default = null;
      example = "sway";
      description = "Which window manager to use for home session";
    };
    waybar = { enable = mkRelatedOption "waybar configuration" [ "sway" ]; };
  };
}