aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/window-manager/i3/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/window-manager/i3/default.nix')
-rw-r--r--modules/desktop/window-manager/i3/default.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/desktop/window-manager/i3/default.nix b/modules/desktop/window-manager/i3/default.nix
new file mode 100644
index 0000000..369fe34
--- /dev/null
+++ b/modules/desktop/window-manager/i3/default.nix
@@ -0,0 +1,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;
+ }
+ ];
+ };
+ };
+}