mcfly: add mcfly-fzf integration

This commit is contained in:
NovaViper 2024-01-18 14:45:32 -05:00 committed by Robert Helgesson
parent 2064348e55
commit ce4b88c465
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED

View file

@ -5,6 +5,24 @@ let
cfg = config.programs.mcfly;
bashIntegration = ''
eval "$(${getExe pkgs.mcfly} init bash)"
'' + optionalString cfg.fzf.enable ''
eval "$(${getExe pkgs.mcfly-fzf} init bash)"
'';
fishIntegration = ''
${getExe pkgs.mcfly} init fish | source
'' + optionalString cfg.fzf.enable ''
${getExe pkgs.mcfly-fzf} init fish | source
'';
zshIntegration = ''
eval "$(${getExe pkgs.mcfly} init zsh)"
'' + optionalString cfg.fzf.enable ''
eval "$(${getExe pkgs.mcfly-fzf} init zsh)"
'';
in {
meta.maintainers = [ ];
@ -30,6 +48,8 @@ in {
'';
};
fzf.enable = mkEnableOption "McFly fzf integration";
enableLightTheme = mkOption {
default = false;
type = types.bool;
@ -75,19 +95,13 @@ in {
config = mkIf cfg.enable (mkMerge [
{
home.packages = [ pkgs.mcfly ];
home.packages = [ pkgs.mcfly ] ++ optional cfg.fzf.enable pkgs.mcfly-fzf;
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
eval "$(${pkgs.mcfly}/bin/mcfly init bash)"
'';
programs.bash.initExtra = mkIf cfg.enableBashIntegration bashIntegration;
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
eval "$(${pkgs.mcfly}/bin/mcfly init zsh)"
'';
programs.zsh.initExtra = mkIf cfg.enableZshIntegration zshIntegration;
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
${pkgs.mcfly}/bin/mcfly init fish | source
'';
programs.fish.shellInit = mkIf cfg.enableFishIntegration fishIntegration;
home.sessionVariables.MCFLY_KEY_SCHEME = cfg.keyScheme;
}