aboutsummaryrefslogtreecommitdiff
path: root/modules/homeModules/bspwm.nix
blob: 33b077bdd3341e64727ae1d385059f761571c758 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{inputs, ...}: {
  flake.homeModules.bspwm = {
    pkgs,
    config,
    lib,
    ...
  }: {
    imports = [
      ./picom.nix
      ./dunst.nix
      ./sxhkd.nix
    ];

    options.customs = {
      bspwm.enable = lib.mkEnableOption "enable bspwm";
    };

    config = lib.mkIf config.customs.bspwm.enable {
      picom.enable = true;
      dunst.enable = true;
      sxhkd.enable = true;

      rofi = {
        enable = true;
        package = pkgs.rofi;
      };

      xsession.windowManager.bspwm = {
        enable = true;

        monitors = let
          workspaces = [
            "α"
            "β"
            "γ"
            "δ"
            "ε"
          ];
        in {
          "^1" = workspaces;
          # "^2" = workspaces;
        };

        settings = {
          # focused_border_color = "#908caa";
          # normal_border_color = "#363a4f";
          # presel_feedback_color = "#752f20";
          border_width = 3;
          window_gap = 12;
          focus_follows_pointer = true;
          split_ratio = 0.5;
        };

        startupPrograms = [
          "sxhkd"
          "picom -b"
          "emacs --daemon"
          "feh --bg-fill ${config.wallpaper}"
        ];
      };
      home.packages = with pkgs; [
        feh
        betterlockscreen
        xfce.xfce4-screenshooter
      ];
    };
  };
}