diff --git a/modules/programs/granted.nix b/modules/programs/granted.nix index d3a7e5e00..b20312069 100644 --- a/modules/programs/granted.nix +++ b/modules/programs/granted.nix @@ -15,6 +15,9 @@ in { enableZshIntegration = lib.hm.shell.mkZshIntegrationOption { inherit config; }; + + enableFishIntegration = + lib.hm.shell.mkFishIntegrationOption { inherit config; }; }; config = mkIf cfg.enable { @@ -27,5 +30,11 @@ in { unset GRANTED_ALIAS_CONFIGURED } ''; + + programs.fish.functions.assume = mkIf cfg.enableFishIntegration '' + set -x GRANTED_ALIAS_CONFIGURED "true" + source ${package}/share/assume.fish + set -e GRANTED_ALIAS_CONFIGURED + ''; }; } diff --git a/tests/modules/programs/granted/default.nix b/tests/modules/programs/granted/default.nix index da462752b..a4e79212b 100644 --- a/tests/modules/programs/granted/default.nix +++ b/tests/modules/programs/granted/default.nix @@ -1,4 +1,6 @@ { - granted-integration-enabled = ./integration-enabled.nix; - granted-integration-disabled = ./integration-disabled.nix; + granted-zsh-integration-enabled = ./zsh-integration-enabled.nix; + granted-zsh-integration-disabled = ./zsh-integration-disabled.nix; + granted-fish-integration-enabled = ./fish-integration-enabled.nix; + granted-fish-integration-disabled = ./fish-integration-disabled.nix; } diff --git a/tests/modules/programs/granted/fish-integration-disabled.nix b/tests/modules/programs/granted/fish-integration-disabled.nix new file mode 100644 index 000000000..9518c8934 --- /dev/null +++ b/tests/modules/programs/granted/fish-integration-disabled.nix @@ -0,0 +1,11 @@ +{ + programs = { + granted.enable = true; + granted.enableFishIntegration = false; + fish.enable = true; + }; + + nmt.script = '' + assertPathNotExists home-files/.config/fish/functions/assume.fish + ''; +} diff --git a/tests/modules/programs/granted/fish-integration-enabled.nix b/tests/modules/programs/granted/fish-integration-enabled.nix new file mode 100644 index 000000000..80e30873a --- /dev/null +++ b/tests/modules/programs/granted/fish-integration-enabled.nix @@ -0,0 +1,10 @@ +{ + programs = { + granted.enable = true; + fish.enable = true; + }; + + nmt.script = '' + assertFileExists home-files/.config/fish/functions/assume.fish + ''; +} diff --git a/tests/modules/programs/granted/integration-disabled.nix b/tests/modules/programs/granted/zsh-integration-disabled.nix similarity index 100% rename from tests/modules/programs/granted/integration-disabled.nix rename to tests/modules/programs/granted/zsh-integration-disabled.nix diff --git a/tests/modules/programs/granted/integration-enabled.nix b/tests/modules/programs/granted/zsh-integration-enabled.nix similarity index 100% rename from tests/modules/programs/granted/integration-enabled.nix rename to tests/modules/programs/granted/zsh-integration-enabled.nix