From bdf5331c964e80204caaa7e54a60ef69748f33ed Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Sat, 28 Sep 2024 00:37:34 +0530 Subject: Added ability to change the default program if multiple programs for the same purpose are enabled. --- modules/desktop/terminal/alacritty/default.nix | 8 ++++++-- modules/desktop/terminal/default.nix | 12 ++++++++++-- modules/desktop/terminal/kitty/default.nix | 8 ++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) (limited to 'modules/desktop/terminal') diff --git a/modules/desktop/terminal/alacritty/default.nix b/modules/desktop/terminal/alacritty/default.nix index 575fe4e..151e098 100644 --- a/modules/desktop/terminal/alacritty/default.nix +++ b/modules/desktop/terminal/alacritty/default.nix @@ -7,7 +7,11 @@ config = lib.mkIf config.desktop.terminal.alacritty.enable { programs.alacritty.enable = true; - desktop.terminal.default = lib.mkDefault "${pkgs.alacritty}/bin/alacritty"; + desktop.terminal.default = lib.mkDefault "alacritty"; + desktop.terminal.command = + if config.desktop.terminal.default == "alacritty" then + lib.mkForce "${pkgs.kitty}/bin/alacritty" + else ""; programs.alacritty.settings = { window = { @@ -72,7 +76,7 @@ }; shell = { - program = config.shell.default; + program = config.shell.command; }; }; }; diff --git a/modules/desktop/terminal/default.nix b/modules/desktop/terminal/default.nix index ac84471..189c794 100644 --- a/modules/desktop/terminal/default.nix +++ b/modules/desktop/terminal/default.nix @@ -7,9 +7,17 @@ ]; options.desktop.terminal = { - default = lib.mkOption { + command = lib.mkOption { type = lib.types.str; - description = "Path to the default terminal program."; + description = "Command for the terminal."; + }; + + default = lib.mkOption { + type = lib.types.enum [ + "kitty" + "alacritty" + ]; + description = "Default terminal."; }; }; } diff --git a/modules/desktop/terminal/kitty/default.nix b/modules/desktop/terminal/kitty/default.nix index 8950a46..a34e58a 100644 --- a/modules/desktop/terminal/kitty/default.nix +++ b/modules/desktop/terminal/kitty/default.nix @@ -13,7 +13,11 @@ } ]; programs.kitty.enable = true; - desktop.terminal.default = lib.mkDefault "${pkgs.kitty}/bin/kitty"; + desktop.terminal.default = lib.mkDefault "kitty"; + desktop.terminal.command = + if config.desktop.terminal.default == "kitty" then + lib.mkForce "${pkgs.kitty}/bin/kitty" + else ""; programs.kitty.settings = with config.scheme.withHashtag; { window_padding_width = config.desktop.window-manager.gap; @@ -42,7 +46,7 @@ selection_background = base03; selection_foreground = base00; - shell = config.shell.default; + shell = config.shell.command; }; }; } -- cgit v1.2.3