aboutsummaryrefslogtreecommitdiffstats
path: root/modules/terminal
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-15 20:32:36 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-15 20:32:36 +0530
commit23616c2e13f63f0262d64538032b98ce83cc0ec2 (patch)
tree3ea56e8c12c6735b5dddb34b5699c59c00066b0f /modules/terminal
parent01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 (diff)
downloadhome-manager-config-23616c2e13f63f0262d64538032b98ce83cc0ec2.tar.gz
home-manager-config-23616c2e13f63f0262d64538032b98ce83cc0ec2.zip
feat: renamed the options to reflect their changed directory stucture
Renamed the options for the configurations based on the sub-module that they belong to
Diffstat (limited to 'modules/terminal')
-rw-r--r--modules/terminal/bash/default.nix8
-rw-r--r--modules/terminal/bat/default.nix9
-rw-r--r--modules/terminal/default.nix1
-rw-r--r--modules/terminal/fzf/assertions.nix4
-rw-r--r--modules/terminal/fzf/default.nix54
-rw-r--r--modules/terminal/kitty/default.nix12
-rw-r--r--modules/terminal/less/default.nix7
-rw-r--r--modules/terminal/starship/default.nix9
-rw-r--r--modules/terminal/tmux/default.nix10
-rw-r--r--modules/terminal/zsh/default.nix14
10 files changed, 93 insertions, 35 deletions
diff --git a/modules/terminal/bash/default.nix b/modules/terminal/bash/default.nix
new file mode 100644
index 0000000..6b53126
--- /dev/null
+++ b/modules/terminal/bash/default.nix
@@ -0,0 +1,8 @@
+{ lib, ... }:
+
+# Bash - GNU Bourne Again SHell
+{
+ options.terminal.bash = {
+ enable = lib.mkEnableOption "Enables bash.";
+ };
+}
diff --git a/modules/terminal/bat/default.nix b/modules/terminal/bat/default.nix
index 3c962a3..e1b4c96 100644
--- a/modules/terminal/bat/default.nix
+++ b/modules/terminal/bat/default.nix
@@ -7,8 +7,15 @@
# bat - a cat clone with wings
{
- config = lib.mkIf config.programs.bat.enable {
+ options.terminal.bat = {
+ enable = lib.mkEnableOption "Enables bat.";
+ package = lib.mkPackageOption pkgs "bat" { };
+ };
+
+ config = lib.mkIf config.terminal.bat.enable {
programs.bat = {
+ enable = true;
+ package = config.terminal.bat.package;
config = {
theme = "base16";
};
diff --git a/modules/terminal/default.nix b/modules/terminal/default.nix
index 7a3ffcc..e02ac47 100644
--- a/modules/terminal/default.nix
+++ b/modules/terminal/default.nix
@@ -2,6 +2,7 @@
{
imports = [
+ ./bash
./bat
./fzf
./kitty
diff --git a/modules/terminal/fzf/assertions.nix b/modules/terminal/fzf/assertions.nix
index 7c2e79c..269af2e 100644
--- a/modules/terminal/fzf/assertions.nix
+++ b/modules/terminal/fzf/assertions.nix
@@ -3,9 +3,9 @@
assertions = [
{
assertion =
- !config.programs.fzf.enable || config.programs.zsh.enable || config.programs.bash.enable;
+ !config.terminal.fzf.enable || config.terminal.zsh.enable || config.terminal.bash.enable;
message = ''
- programs.fzf is enabled but neither programs.zsh.enable nor programs.bash.enable is set.
+ terminal.fzf is enabled but neither terminal.zsh.enable nor terminal.bash.enable is set.
fzf shell integration requires zsh or bash. Please enable at least one.
'';
}
diff --git a/modules/terminal/fzf/default.nix b/modules/terminal/fzf/default.nix
index 7671b3c..499bf3c 100644
--- a/modules/terminal/fzf/default.nix
+++ b/modules/terminal/fzf/default.nix
@@ -1,17 +1,29 @@
-{ config, lib, ... }:
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
# FZF - Fuzzy finder, CLI fuzzy search tool
{
imports = [ ./assertions.nix ];
+ options.terminal.fzf = {
+ enable = lib.mkEnableOption "Enables fzf.";
+ package = lib.mkPackageOption pkgs "fzf" { };
+ };
+
config =
let
shellIntegration = ''
- ${if config.programs.zsh.enable then "eval \"$(fzf --zsh)\"" else "eval \"$(fzf --bash)\""}
+ ${if config.terminal.zsh.enable then "eval \"$(fzf --zsh)\"" else "eval \"$(fzf --bash)\""}
'';
in
- lib.mkIf config.programs.fzf.enable {
+ lib.mkIf config.terminal.fzf.enable {
programs.fzf = {
+ enable = true;
+ package = config.terminal.fzf.package;
defaultOptions = [
"--height 100%"
"--layout=reverse"
@@ -26,26 +38,26 @@
];
colors = with config.scheme.withHashtag; {
- fg = base05; # Foreground
- bg = "-1"; # Background (-1 for transparent)
- hl = base0D; # Highlight
-
- "fg+" = base07; # Foreground for selected item
- "bg+" = "-1"; # Background for selected item
- "hl+" = base0D; # Highlight for selected item
-
- gutter = "-1"; # Remove the white margin at the left
-
- info = base0B; # Info text (usually count of items)
- border = base03; # Border color
- prompt = base0A; # Prompt text color
- pointer = base0F; # Pointer color (e.g., > for selected)
- marker = base0C; # Marker color (e.g., for multi-select)
- spinner = base0C; # Spinner color (during search)
+ fg = base05;
+ bg = "-1";
+ hl = base0D;
+
+ "fg+" = base07;
+ "bg+" = "-1";
+ "hl+" = base0D;
+
+ gutter = "-1";
+
+ info = base0B;
+ border = base03;
+ prompt = base0A;
+ pointer = base0F;
+ marker = base0C;
+ spinner = base0C;
};
};
- programs.zsh.initContent = lib.mkIf config.programs.zsh.enable (lib.mkAfter shellIntegration);
- programs.bash.initExtra = lib.mkIf config.programs.bash.enable (lib.mkAfter shellIntegration);
+ programs.zsh.initContent = lib.mkIf config.terminal.zsh.enable (lib.mkAfter shellIntegration);
+ programs.bash.initExtra = lib.mkIf config.terminal.bash.enable (lib.mkAfter shellIntegration);
};
}
diff --git a/modules/terminal/kitty/default.nix b/modules/terminal/kitty/default.nix
index 3701180..9b1836a 100644
--- a/modules/terminal/kitty/default.nix
+++ b/modules/terminal/kitty/default.nix
@@ -1,17 +1,25 @@
{
config,
lib,
+ pkgs,
...
}:
# Kitty - GPU-accelerated terminal emulator
{
- config = lib.mkIf config.programs.kitty.enable {
+ options.terminal.kitty = {
+ enable = lib.mkEnableOption "Enables kitty.";
+ package = lib.mkPackageOption pkgs "kitty" { };
+ };
+
+ config = lib.mkIf config.terminal.kitty.enable {
xdg.mimeApps.defaultApplications = {
"x-scheme-handler/terminal" = "kitty.desktop";
};
programs.kitty = {
+ enable = true;
+ package = config.terminal.kitty.package;
settings = with config.scheme.withHashtag; {
window_padding_width = 10;
font_size = config.fonts.size;
@@ -48,7 +56,7 @@
allow_remote_control = "yes";
listen_on = "unix:/tmp/kitty";
- shell = lib.mkIf config.programs.zsh.enable (lib.getExe config.programs.zsh.package);
+ shell = lib.mkIf config.terminal.zsh.enable (lib.getExe config.terminal.zsh.package);
};
};
};
diff --git a/modules/terminal/less/default.nix b/modules/terminal/less/default.nix
index 516377d..8785498 100644
--- a/modules/terminal/less/default.nix
+++ b/modules/terminal/less/default.nix
@@ -2,8 +2,13 @@
# less - terminal pager
{
- config = lib.mkIf config.programs.less.enable {
+ options.terminal.less = {
+ enable = lib.mkEnableOption "Enables less.";
+ };
+
+ config = lib.mkIf config.terminal.less.enable {
programs.less = {
+ enable = true;
options = [
"--RAW-CONTROL-CHARS"
"--quit-if-one-screen"
diff --git a/modules/terminal/starship/default.nix b/modules/terminal/starship/default.nix
index ae5e082..647cef3 100644
--- a/modules/terminal/starship/default.nix
+++ b/modules/terminal/starship/default.nix
@@ -2,9 +2,14 @@
# Starship - Minimal, blazing-fast shell prompt
{
- config = lib.mkIf config.programs.starship.enable {
+ options.terminal.starship = {
+ enable = lib.mkEnableOption "Enables starship.";
+ };
+
+ config = lib.mkIf config.terminal.starship.enable {
programs.starship = {
- enableZshIntegration = config.programs.zsh.enable;
+ enable = true;
+ enableZshIntegration = config.terminal.zsh.enable;
settings =
let
mkSegment = content: ''[┄\[](red)[${content}]($style)[\]](red)'';
diff --git a/modules/terminal/tmux/default.nix b/modules/terminal/tmux/default.nix
index e2e76c9..fdee9ff 100644
--- a/modules/terminal/tmux/default.nix
+++ b/modules/terminal/tmux/default.nix
@@ -7,9 +7,15 @@
# Tmux - Terminal multiplexer (window/pane management)
{
- config = lib.mkIf config.programs.tmux.enable {
+ options.terminal.tmux = {
+ enable = lib.mkEnableOption "Enables tmux.";
+ package = lib.mkPackageOption pkgs "tmux" { };
+ };
+
+ config = lib.mkIf config.terminal.tmux.enable {
programs.tmux = {
- package = pkgs.tmux;
+ enable = true;
+ package = config.terminal.tmux.package;
};
};
}
diff --git a/modules/terminal/zsh/default.nix b/modules/terminal/zsh/default.nix
index f3bdbb1..842556a 100644
--- a/modules/terminal/zsh/default.nix
+++ b/modules/terminal/zsh/default.nix
@@ -7,13 +7,19 @@
# Zsh - Z shell, extended bash with additional features and plugins
{
+ options.terminal.zsh = {
+ enable = lib.mkEnableOption "Enables zsh.";
+ package = lib.mkPackageOption pkgs "zsh" { };
+ };
+
config =
let
nixCommandWrappers = builtins.readFile ./nix-aliases.sh;
in
- lib.mkIf config.programs.zsh.enable {
+ lib.mkIf config.terminal.zsh.enable {
programs.zsh = {
- package = pkgs.zsh;
+ enable = true;
+ package = config.terminal.zsh.package;
dotDir = "${config.xdg.configHome}/zsh";
history.path = "${config.xdg.cacheHome}/zsh/history";
enableCompletion = true;
@@ -31,8 +37,8 @@
'';
};
- programs.bash.initExtra = lib.mkIf config.programs.bash.enable (lib.mkAfter nixCommandWrappers);
+ programs.bash.initExtra = lib.mkIf config.terminal.bash.enable (lib.mkAfter nixCommandWrappers);
- home.sessionVariables.SHELL = "${lib.getExe config.programs.zsh.package}";
+ home.sessionVariables.SHELL = "${lib.getExe config.terminal.zsh.package}";
};
}