mirror of
https://github.com/nix-community/home-manager
synced 2025-01-30 21:05:02 +01: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: - shell.enableBashIntegration - shell.enableFishIntegration - shell.enableIonIntegration - shell.enableNushellIntegration - shell.enableZshIntegration All these global options default to the 'shell.enableShellIntegration' value. This hierarchy standardizes the shell integration and increases end-user flexibility. BREAKING CHANGE: This modifies the following inconsistent default values from 'false' to 'true': - programs.zellij.enableBashIntegration - programs.zellij.enableFishIntegration - programs.zellij.enableZshIntegration
This commit is contained in:
parent
daf04c5950
commit
80001f1ef5
39 changed files with 343 additions and 591 deletions
|
@ -1,6 +1,12 @@
|
||||||
{ lib }:
|
{ lib }:
|
||||||
|
|
||||||
rec {
|
let
|
||||||
|
mkShellIntegrationOption = name: default:
|
||||||
|
lib.mkEnableOption "${name} integration" // {
|
||||||
|
inherit default;
|
||||||
|
example = !default;
|
||||||
|
};
|
||||||
|
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 +14,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";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1972,6 +1972,22 @@ in {
|
||||||
'yazi' alias.
|
'yazi' alias.
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
time = "2025-01-25T22:15:57+00:00";
|
||||||
|
message = ''
|
||||||
|
All 'programs.<PROGRAM>.enable<SHELL>Integration' values now default
|
||||||
|
to the new 'shell.enable<SHELL>Integration' options, which inherit
|
||||||
|
from the new the 'shell.enableShellIntegration' option.
|
||||||
|
|
||||||
|
This modifies the following inconsistent default values from 'false'
|
||||||
|
to 'true':
|
||||||
|
|
||||||
|
- programs.zellij.enableBashIntegration
|
||||||
|
- programs.zellij.enableFishIntegration
|
||||||
|
- programs.zellij.enableZshIntegration
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
28
modules/misc/shell.nix
Normal file
28
modules/misc/shell.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ config, lib, ... }: {
|
||||||
|
options.shell = let enable = config.shell.enableShellIntegration;
|
||||||
|
in {
|
||||||
|
enableShellIntegration = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
example = false;
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
Whether to 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
|
||||||
|
config.shell.enableBashIntegration = false;
|
||||||
|
```
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
enableBashIntegration = lib.hm.shell.mkBashIntegrationOption enable;
|
||||||
|
enableFishIntegration = lib.hm.shell.mkFishIntegrationOption enable;
|
||||||
|
enableIonIntegration = lib.hm.shell.mkIonIntegrationOption enable;
|
||||||
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption enable;
|
||||||
|
enableZshIntegration = lib.hm.shell.mkZshIntegrationOption enable;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
|
||||||
|
|
|
@ -13,7 +13,16 @@ let
|
||||||
in {
|
in {
|
||||||
meta.maintainers = [ maintainers.hawkw maintainers.water-sucks ];
|
meta.maintainers = [ maintainers.hawkw maintainers.water-sucks ];
|
||||||
|
|
||||||
options.programs.atuin = {
|
options.programs.atuin = let
|
||||||
|
mkShellIntegrationOption = option: description:
|
||||||
|
option // {
|
||||||
|
description = ''
|
||||||
|
${option.description}
|
||||||
|
|
||||||
|
${description}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
enable = mkEnableOption "atuin";
|
enable = mkEnableOption "atuin";
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
|
@ -23,35 +32,19 @@ in {
|
||||||
description = "The package to use for atuin.";
|
description = "The package to use for atuin.";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration = mkShellIntegrationOption
|
||||||
type = types.bool;
|
(lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration)
|
||||||
default = true;
|
"If enabled, this will bind `ctrl-r` to open the Atuin history.";
|
||||||
description = ''
|
|
||||||
Whether to enable Atuin's Bash integration. This will bind
|
enableFishIntegration = mkShellIntegrationOption
|
||||||
`ctrl-r` to open the Atuin history.
|
(lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration)
|
||||||
|
"If enabled, this will bind the up-arrow key to open the Atuin history.";
|
||||||
|
|
||||||
|
enableZshIntegration = mkShellIntegrationOption
|
||||||
|
(lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration) ''
|
||||||
|
If enabled, this will bind `ctrl-r` and the up-arrow key to open the
|
||||||
|
Atuin history.
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
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 {
|
|
||||||
default = true;
|
|
||||||
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.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
flags = mkOption {
|
flags = mkOption {
|
||||||
default = [ ];
|
default = [ ];
|
||||||
|
|
|
@ -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 config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -19,29 +19,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableFishIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableZshIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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,34 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
let option = lib.hm.shell.mkFishIntegrationOption true;
|
||||||
type = types.bool;
|
in option // {
|
||||||
description = ''
|
description = ''
|
||||||
Whether to enable Zsh integration.
|
${option.description}
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
Note, enabling the direnv module will always active its functionality
|
||||||
default = true;
|
for Fish since the direnv package automatically gets loaded in Fish.
|
||||||
type = types.bool;
|
If this is not the case try adding:
|
||||||
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
|
|
||||||
environment.pathsToLink = [ "/share/fish" ];
|
|
||||||
```
|
|
||||||
to the system configuration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
```nix
|
||||||
default = true;
|
environment.pathsToLink = [ "/share/fish" ];
|
||||||
type = types.bool;
|
```
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
to the system configuration.
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
|
config.shell.enableNushellIntegration;
|
||||||
|
|
||||||
|
enableZshIntegration =
|
||||||
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
|
|
||||||
nix-direnv = {
|
nix-direnv = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
|
|
|
@ -32,17 +32,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableIonIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkIonIntegrationOption config.shell.enableIonIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableIonIntegration = mkEnableOption "Ion integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration";
|
enableZshIntegration =
|
||||||
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
|
|
||||||
extraOptions = mkOption {
|
extraOptions = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
|
|
@ -156,29 +156,14 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 = [ lib.maintainers.HeitorAugustoLN ];
|
meta.maintainers = [ lib.maintainers.HeitorAugustoLN ];
|
||||||
|
|
||||||
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" { };
|
||||||
|
@ -85,29 +100,14 @@ in {
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = lib.mkEnableOption ''
|
enableBashIntegration = mkShellIntegrationOption
|
||||||
bash shell integration.
|
(lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration);
|
||||||
|
|
||||||
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 config.shell.enableFishIntegration);
|
||||||
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 config.shell.enableZshIntegration);
|
||||||
|
|
||||||
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 config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -63,37 +63,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableXsessionIntegration = mkOption {
|
enableXsessionIntegration = mkOption {
|
||||||
default = true;
|
default = true;
|
||||||
|
|
|
@ -49,12 +49,12 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
shellIntegrationDefaultOpt = {
|
mkShellIntegrationOption = option:
|
||||||
default = !(elem "disabled" (splitString " " cfg.shellIntegration.mode));
|
option (!(elem "disabled" (splitString " " cfg.shellIntegration.mode))) // {
|
||||||
defaultText = literalExpression ''
|
defaultText = literalExpression ''
|
||||||
!(elem "disabled" (splitString " " config.programs.kitty.shellIntegration.mode))
|
!(elem "disabled" (splitString " " config.programs.kitty.shellIntegration.mode))
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
(mkChangedOptionModule [ "programs" "kitty" "theme" ] [
|
(mkChangedOptionModule [ "programs" "kitty" "theme" ] [
|
||||||
|
@ -179,14 +179,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Kitty Bash integration"
|
enableBashIntegration =
|
||||||
// shellIntegrationDefaultOpt;
|
mkShellIntegrationOption lib.hm.shell.mkBashIntegrationOption;
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Kitty fish integration"
|
enableFishIntegration =
|
||||||
// shellIntegrationDefaultOpt;
|
mkShellIntegrationOption lib.hm.shell.mkFishIntegrationOption;
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Kitty Z Shell integration"
|
enableZshIntegration =
|
||||||
// shellIntegrationDefaultOpt;
|
mkShellIntegrationOption lib.hm.shell.mkZshIntegrationOption;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
|
|
|
@ -109,29 +109,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh Integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish Integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -13,17 +13,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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
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 config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -47,37 +47,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
type = types.bool;
|
config.shell.enableNushellIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
type = types.bool;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable pyenv's Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = lib.mkOption {
|
enableFishIntegration =
|
||||||
type = lib.types.bool;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable pyenv's Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = lib.mkOption {
|
enableZshIntegration =
|
||||||
type = lib.types.bool;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -83,29 +83,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableIonIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkIonIntegrationOption config.shell.enableIonIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableIonIntegration = mkEnableOption "Ion integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "watson's zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "watson's fish integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = iniFormat.type;
|
type = iniFormat.type;
|
||||||
|
|
|
@ -83,13 +83,11 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "WezTerm's Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "WezTerm's Zsh integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -54,21 +54,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
keymap = mkOption {
|
keymap = mkOption {
|
||||||
type = tomlFormat.type;
|
type = tomlFormat.type;
|
||||||
|
|
|
@ -29,29 +29,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
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 config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = false;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableZshIntegration =
|
||||||
default = false;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -32,37 +32,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkOption {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Bash integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkOption {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Zsh integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkOption {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Fish integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkOption {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Nushell integration.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -245,21 +245,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
enableBashIntegration = mkEnableOption "Bash integration" // {
|
enableBashIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkBashIntegrationOption config.shell.enableBashIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
enableFishIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkFishIntegrationOption config.shell.enableFishIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption
|
||||||
default = true;
|
config.shell.enableNushellIntegration;
|
||||||
};
|
|
||||||
|
|
||||||
enableNushellIntegration = mkEnableOption "Nushell integration" // {
|
enableZshIntegration =
|
||||||
default = true;
|
lib.hm.shell.mkZshIntegrationOption config.shell.enableZshIntegration;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue