mirror of
https://github.com/nix-community/home-manager.git
synced 2026-01-12 01:59:37 +08:00
treewide: standardize shell integration options
Standardize all 'programs.<PROGRAM>.enable<SHELL>Integration' options with the following new functions: - lib.hm.shell.mkBashIntegrationOption - lib.hm.shell.mkFishIntegrationOption - lib.hm.shell.mkIonIntegrationOption - lib.hm.shell.mkNushellIntegrationOption - lib.hm.shell.mkZshIntegrationOption These functions should default to their corresponding global option: - home.shell.enableBashIntegration - home.shell.enableFishIntegration - home.shell.enableIonIntegration - home.shell.enableNushellIntegration - home.shell.enableZshIntegration All these global options default to the 'home.shell.enableShellIntegration' value. This hierarchy standardizes the shell integration and increases end-user flexibility. BREAKING CHANGE: The following inconsistent default values change from 'false' to 'true': - programs.zellij.enableBashIntegration - programs.zellij.enableFishIntegration - programs.zellij.enableZshIntegration Link: https://github.com/nix-community/home-manager/pull/6358 Co-authored-by: Robert Helgesson <robert@rycee.net>
This commit is contained in:
@@ -1,6 +1,22 @@
|
|||||||
{ lib }:
|
{ lib }:
|
||||||
|
|
||||||
rec {
|
let
|
||||||
|
|
||||||
|
mkShellIntegrationOption = name:
|
||||||
|
{ config, baseName ? name, extraDescription ? "" }:
|
||||||
|
let attrName = "enable${baseName}Integration";
|
||||||
|
in lib.mkOption {
|
||||||
|
default = config.home.shell.${attrName};
|
||||||
|
defaultText = lib.literalMD "[](#opt-home.shell.${attrName})";
|
||||||
|
example = false;
|
||||||
|
description = "Whether to enable ${name} integration.${
|
||||||
|
lib.optionalString (extraDescription != "")
|
||||||
|
("\n\n" + extraDescription)
|
||||||
|
}";
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
|
|
||||||
|
in rec {
|
||||||
# Produces a Bourne shell like variable export statement.
|
# Produces a Bourne shell like variable export statement.
|
||||||
export = n: v: ''export ${n}="${toString v}"'';
|
export = n: v: ''export ${n}="${toString v}"'';
|
||||||
|
|
||||||
@@ -8,4 +24,10 @@ rec {
|
|||||||
# assignment, this function produces a string containing an export
|
# assignment, this function produces a string containing an export
|
||||||
# statement for each set entry.
|
# statement for each set entry.
|
||||||
exportAll = vars: lib.concatStringsSep "\n" (lib.mapAttrsToList export vars);
|
exportAll = vars: lib.concatStringsSep "\n" (lib.mapAttrsToList export vars);
|
||||||
|
|
||||||
|
mkBashIntegrationOption = mkShellIntegrationOption "Bash";
|
||||||
|
mkFishIntegrationOption = mkShellIntegrationOption "Fish";
|
||||||
|
mkIonIntegrationOption = mkShellIntegrationOption "Ion";
|
||||||
|
mkNushellIntegrationOption = mkShellIntegrationOption "Nushell";
|
||||||
|
mkZshIntegrationOption = mkShellIntegrationOption "Zsh";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2018,6 +2018,22 @@ in {
|
|||||||
systems.
|
systems.
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
time = "2025-02-07T22:31:45+00:00";
|
||||||
|
message = ''
|
||||||
|
All 'programs.<PROGRAM>.enable<SHELL>Integration' values now default
|
||||||
|
to the new 'home.shell.enable<SHELL>Integration' options, which
|
||||||
|
inherit from the new the 'home.shell.enableShellIntegration' option.
|
||||||
|
|
||||||
|
The following inconsistent default values change from 'false' to
|
||||||
|
'true':
|
||||||
|
|
||||||
|
- programs.zellij.enableBashIntegration
|
||||||
|
- programs.zellij.enableFishIntegration
|
||||||
|
- programs.zellij.enableZshIntegration
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
43
modules/misc/shell.nix
Normal file
43
modules/misc/shell.nix
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.home.shell = {
|
||||||
|
enableShellIntegration = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
example = false;
|
||||||
|
description = ''
|
||||||
|
Whether to globally enable shell integration for all supported shells.
|
||||||
|
|
||||||
|
Individual shell integrations can be overridden with their respective
|
||||||
|
`shell.enable<SHELL>Integration` option. For example, the following
|
||||||
|
declaration globally disables shell integration for Bash:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
home.shell.enableBashIntegration = false;
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
enableBashIntegration = lib.hm.shell.mkBashIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
baseName = "Shell";
|
||||||
|
};
|
||||||
|
enableFishIntegration = lib.hm.shell.mkFishIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
baseName = "Shell";
|
||||||
|
};
|
||||||
|
enableIonIntegration = lib.hm.shell.mkIonIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
baseName = "Shell";
|
||||||
|
};
|
||||||
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
baseName = "Shell";
|
||||||
|
};
|
||||||
|
enableZshIntegration = lib.hm.shell.mkZshIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
baseName = "Shell";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -36,6 +36,7 @@ let
|
|||||||
./misc/pam.nix
|
./misc/pam.nix
|
||||||
./misc/qt.nix
|
./misc/qt.nix
|
||||||
./misc/qt/kconfig.nix
|
./misc/qt/kconfig.nix
|
||||||
|
./misc/shell.nix
|
||||||
./misc/specialisation.nix
|
./misc/specialisation.nix
|
||||||
./misc/submodule-support.nix
|
./misc/submodule-support.nix
|
||||||
./misc/tmpfiles.nix
|
./misc/tmpfiles.nix
|
||||||
|
|||||||
@@ -23,33 +23,26 @@ in {
|
|||||||
description = "The package to use for atuin.";
|
description = "The package to use for atuin.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration = lib.hm.shell.mkBashIntegrationOption {
|
||||||
type = types.bool;
|
inherit config;
|
||||||
default = true;
|
extraDescription =
|
||||||
description = ''
|
"If enabled, this will bind `ctrl-r` to open the Atuin history.";
|
||||||
Whether to enable Atuin's Bash integration. This will bind
|
|
||||||
`ctrl-r` to open the Atuin history.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration = lib.hm.shell.mkFishIntegrationOption {
|
||||||
type = types.bool;
|
inherit config;
|
||||||
default = true;
|
extraDescription =
|
||||||
description = ''
|
"If enabled, this will bind the up-arrow key to open the Atuin history.";
|
||||||
Whether to enable Atuin's Zsh integration.
|
|
||||||
|
|
||||||
If enabled, this will bind `ctrl-r` and the up-arrow
|
|
||||||
key to open the Atuin history.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Atuin's Fish integration.
|
|
||||||
|
|
||||||
If enabled, this will bind the up-arrow key to open the Atuin history.
|
enableZshIntegration = lib.hm.shell.mkZshIntegrationOption {
|
||||||
|
inherit config;
|
||||||
|
extraDescription = ''
|
||||||
|
If enabled, this will bind `ctrl-r` and the up-arrow key to open the
|
||||||
|
Atuin history.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -89,14 +82,6 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
daemon = {
|
daemon = {
|
||||||
enable = mkEnableOption "Atuin daemon";
|
enable = mkEnableOption "Atuin daemon";
|
||||||
|
|
||||||
|
|||||||
@@ -13,29 +13,14 @@ in {
|
|||||||
options.programs.autojump = {
|
options.programs.autojump = {
|
||||||
enable = mkEnableOption "autojump";
|
enable = mkEnableOption "autojump";
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -154,37 +154,17 @@ in {
|
|||||||
options.programs.broot = {
|
options.programs.broot = {
|
||||||
enable = mkEnableOption "Broot, a better way to navigate directories";
|
enable = mkEnableOption "Broot, a better way to navigate directories";
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
|
|||||||
@@ -16,21 +16,17 @@ in {
|
|||||||
|
|
||||||
package = mkPackageOption pkgs "carapace" { };
|
package = mkPackageOption pkgs "carapace" { };
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -19,29 +19,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableFishIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableZshIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with types; attrsOf str;
|
||||||
|
|||||||
@@ -48,44 +48,32 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration = lib.hm.shell.mkFishIntegrationOption {
|
||||||
default = true;
|
inherit config;
|
||||||
type = types.bool;
|
extraDescription = ''
|
||||||
description = ''
|
Note, enabling the direnv module will always active its functionality
|
||||||
Whether to enable Zsh integration.
|
for Fish since the direnv package automatically gets loaded in Fish.
|
||||||
'';
|
If this is not the case try adding
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
|
||||||
readOnly = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration. Note, enabling the direnv module
|
|
||||||
will always active its functionality for Fish since the direnv package
|
|
||||||
automatically gets loaded in Fish. If this is not the case try adding
|
|
||||||
```nix
|
```nix
|
||||||
environment.pathsToLink = [ "/share/fish" ];
|
environment.pathsToLink = [ "/share/fish" ];
|
||||||
```
|
```
|
||||||
|
|
||||||
to the system configuration.
|
to the system configuration.
|
||||||
'';
|
'';
|
||||||
|
} // {
|
||||||
|
default = true;
|
||||||
|
readOnly = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
enableZshIntegration =
|
||||||
Whether to enable Nushell integration.
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-direnv = {
|
nix-direnv = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
|
|||||||
@@ -32,17 +32,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -21,23 +21,20 @@ with lib;
|
|||||||
options.programs.eza = {
|
options.programs.eza = {
|
||||||
enable = mkEnableOption "eza, a modern replacement for {command}`ls`";
|
enable = mkEnableOption "eza, a modern replacement for {command}`ls`";
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableIonIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkIonIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableIonIntegration = mkEnableOption "Ion integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration";
|
enableZshIntegration =
|
||||||
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
|
|
||||||
extraOptions = mkOption {
|
extraOptions = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
|||||||
@@ -158,29 +158,14 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -10,7 +10,22 @@ let
|
|||||||
in {
|
in {
|
||||||
meta.maintainers = with lib.maintainers; [ HeitorAugustoLN khaneliman ];
|
meta.maintainers = with lib.maintainers; [ HeitorAugustoLN khaneliman ];
|
||||||
|
|
||||||
options.programs.ghostty = {
|
options.programs.ghostty = let
|
||||||
|
mkShellIntegrationOption = option:
|
||||||
|
option // {
|
||||||
|
description = ''
|
||||||
|
${option.description}
|
||||||
|
|
||||||
|
This ensures that shell integration works in more scenarios, such as
|
||||||
|
switching shells within Ghostty. But it is not needed to have shell
|
||||||
|
integration.
|
||||||
|
|
||||||
|
See
|
||||||
|
<https://ghostty.org/docs/features/shell-integration#manual-shell-integration-setup>
|
||||||
|
for more information.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
enable = lib.mkEnableOption "Ghostty";
|
enable = lib.mkEnableOption "Ghostty";
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs "ghostty" {
|
package = lib.mkPackageOption pkgs "ghostty" {
|
||||||
@@ -91,29 +106,14 @@ in {
|
|||||||
lib.literalMD "`true` if programs.ghostty.package is not null";
|
lib.literalMD "`true` if programs.ghostty.package is not null";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = lib.mkEnableOption ''
|
enableBashIntegration = mkShellIntegrationOption
|
||||||
bash shell integration.
|
(lib.hm.shell.mkBashIntegrationOption { inherit config; });
|
||||||
|
|
||||||
This is ensures that shell integration works in more scenarios, such as switching shells within Ghostty.
|
enableFishIntegration = mkShellIntegrationOption
|
||||||
But it is not needed to have shell integration.
|
(lib.hm.shell.mkFishIntegrationOption { inherit config; });
|
||||||
See <https://ghostty.org/docs/features/shell-integration#manual-shell-integration-setup> for more information
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableFishIntegration = lib.mkEnableOption ''
|
enableZshIntegration = mkShellIntegrationOption
|
||||||
fish shell integration.
|
(lib.hm.shell.mkZshIntegrationOption { inherit config; });
|
||||||
|
|
||||||
This is ensures that shell integration works in more scenarios, such as switching shells within Ghostty.
|
|
||||||
But it is not needed to have shell integration.
|
|
||||||
See <https://ghostty.org/docs/features/shell-integration#manual-shell-integration-setup> for more information
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableZshIntegration = lib.mkEnableOption ''
|
|
||||||
zsh shell integration.
|
|
||||||
|
|
||||||
This is ensures that shell integration works in more scenarios, such as switching shells within Ghostty.
|
|
||||||
But it is not needed to have shell integration.
|
|
||||||
See <https://ghostty.org/docs/features/shell-integration#manual-shell-integration-setup> for more information
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||||
|
|||||||
@@ -13,13 +13,8 @@ in {
|
|||||||
options.programs.granted = {
|
options.programs.granted = {
|
||||||
enable = mkEnableOption "granted";
|
enable = mkEnableOption "granted";
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -16,13 +16,11 @@ in {
|
|||||||
|
|
||||||
package = mkPackageOption pkgs "hstr" { };
|
package = mkPackageOption pkgs "hstr" { };
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -63,37 +63,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableXsessionIntegration = mkOption {
|
enableXsessionIntegration = mkOption {
|
||||||
default = true;
|
default = true;
|
||||||
|
|||||||
@@ -50,13 +50,14 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
shellIntegrationDefaultOpt = {
|
mkShellIntegrationOption = option:
|
||||||
default =
|
option // {
|
||||||
!(lib.elem "disabled" (lib.splitString " " cfg.shellIntegration.mode));
|
default =
|
||||||
defaultText = literalExpression ''
|
!(lib.elem "disabled" (lib.splitString " " cfg.shellIntegration.mode));
|
||||||
!(elem "disabled" (splitString " " config.programs.kitty.shellIntegration.mode))
|
defaultText = literalExpression ''
|
||||||
'';
|
!(elem "disabled" (splitString " " config.programs.kitty.shellIntegration.mode))
|
||||||
};
|
'';
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
(lib.mkChangedOptionModule [ "programs" "kitty" "theme" ] [
|
(lib.mkChangedOptionModule [ "programs" "kitty" "theme" ] [
|
||||||
@@ -184,14 +185,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Kitty Bash integration"
|
enableBashIntegration = mkShellIntegrationOption
|
||||||
// shellIntegrationDefaultOpt;
|
(lib.hm.shell.mkBashIntegrationOption { inherit config; });
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Kitty fish integration"
|
enableFishIntegration = mkShellIntegrationOption
|
||||||
// shellIntegrationDefaultOpt;
|
(lib.hm.shell.mkFishIntegrationOption { inherit config; });
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Kitty Z Shell integration"
|
enableZshIntegration = mkShellIntegrationOption
|
||||||
// shellIntegrationDefaultOpt;
|
(lib.hm.shell.mkZshIntegrationOption { inherit config; });
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
|
|||||||
@@ -109,29 +109,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable (mkMerge [
|
config = mkIf cfg.enable (mkMerge [
|
||||||
|
|||||||
@@ -30,17 +30,14 @@ in {
|
|||||||
|
|
||||||
package = mkPackageOption pkgs "mise" { };
|
package = mkPackageOption pkgs "mise" { };
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash Integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh Integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish Integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
globalConfig = mkOption {
|
globalConfig = mkOption {
|
||||||
type = tomlFormat.type;
|
type = tomlFormat.type;
|
||||||
|
|||||||
@@ -47,17 +47,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -14,17 +14,14 @@ in {
|
|||||||
description = "Package providing the {command}`nix-index` tool.";
|
description = "Package providing the {command}`nix-index` tool.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|||||||
@@ -16,17 +16,14 @@ in {
|
|||||||
|
|
||||||
package = mkPackageOption pkgs "nix-your-shell" { };
|
package = mkPackageOption pkgs "nix-your-shell" { };
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -47,37 +47,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -19,29 +19,14 @@ in {
|
|||||||
description = "Opam package to install.";
|
description = "Opam package to install.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -12,21 +12,17 @@ in {
|
|||||||
|
|
||||||
package = mkPackageOption pkgs "pay-respects" { };
|
package = mkPackageOption pkgs "pay-respects" { };
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -12,29 +12,14 @@ in {
|
|||||||
options.programs.pazi = {
|
options.programs.pazi = {
|
||||||
enable = mkEnableOption "pazi";
|
enable = mkEnableOption "pazi";
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -19,29 +19,14 @@ in {
|
|||||||
description = "The package to use for pyenv.";
|
description = "The package to use for pyenv.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = lib.mkOption {
|
enableBashIntegration =
|
||||||
type = lib.types.bool;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable pyenv's Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = lib.mkOption {
|
enableFishIntegration =
|
||||||
type = lib.types.bool;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable pyenv's Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = lib.mkOption {
|
enableZshIntegration =
|
||||||
type = lib.types.bool;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable pyenv's Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
rootDirectory = lib.mkOption {
|
rootDirectory = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
|
|||||||
@@ -55,17 +55,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -16,29 +16,14 @@ in {
|
|||||||
description = "Package providing the {command}`scmpuff` tool.";
|
description = "Package providing the {command}`scmpuff` tool.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableAliases = mkOption {
|
enableAliases = mkOption {
|
||||||
default = true;
|
default = true;
|
||||||
|
|||||||
@@ -83,29 +83,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -53,25 +53,20 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableIonIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkIonIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableIonIntegration = mkEnableOption "Ion integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableInteractive = mkOption {
|
enableInteractive = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|||||||
@@ -13,33 +13,17 @@ with lib;
|
|||||||
|
|
||||||
enableInstantMode = mkEnableOption "thefuck's experimental instant mode";
|
enableInstantMode = mkEnableOption "thefuck's experimental instant mode";
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = let
|
config = let
|
||||||
|
|||||||
@@ -26,17 +26,14 @@ in {
|
|||||||
description = "Package providing the {command}`watson`.";
|
description = "Package providing the {command}`watson`.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "watson's bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "watson's zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "watson's fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = iniFormat.type;
|
type = iniFormat.type;
|
||||||
|
|||||||
@@ -82,13 +82,11 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "WezTerm's Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "WezTerm's Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -54,21 +54,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
keymap = mkOption {
|
keymap = mkOption {
|
||||||
type = tomlFormat.type;
|
type = tomlFormat.type;
|
||||||
|
|||||||
@@ -29,29 +29,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableAliases = mkOption {
|
enableAliases = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
|
|||||||
@@ -41,17 +41,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = false;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = false;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = false;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -32,37 +32,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -260,21 +260,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkNushellIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption { inherit config; };
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user