aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/window-manager/i3/default.nix
blob: 369fe34125041db9238d31150f6047c572daf85b (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
{ config, lib, pkgs, ... }:

{
	options.desktop.window-manager.i3 = {
		enable = lib.mkEnableOption "Enables i3.";
	};

	config = lib.mkIf config.desktop.window-manager.i3.enable {
		# Set i3 as the default window manager
		desktop.window-manager.default = lib.mkDefault "i3";
		desktop.window-manager.command =
			if config.desktop.window-manager.default == "i3" then
				"${pkgs.i3}/bin/i3"
			else lib.mkDefault "";

		xsession.windowManager.i3.enable = true;

		xsession.windowManager.i3.config = {
			modifier = "Mod4";
			gaps = {
				inner = config.desktop.window-manager.gap;
			};
			terminal = config.tools.terminal.command;
			fonts = {
				names = [ "FiraCode Nerd Font" ];
				size = 11.0;
			};
			bars = [
				{
					command =
						lib.mkIf
							config.desktop.status-bar.polybar.enable
							config.desktop.status-bar.polybar.command;
				}
			];
		};
	};
}