scmpuff: enable or disable aliases

This commit is contained in:
ilaumjd 2023-10-01 17:17:06 +07:00 committed by Robert Helgesson
parent 6f9b5b83ad
commit 55ce64c3ca
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
8 changed files with 58 additions and 11 deletions

View file

@ -39,22 +39,34 @@ in {
Whether to enable fish integration.
'';
};
enableAliases = mkOption {
default = true;
type = types.bool;
description = ''
Whether to enable aliases (e.g. gs, ga, gd, gco).
'';
};
};
config = mkIf cfg.enable {
config = mkIf cfg.enable (let
mkArgs = shell:
concatStringsSep " " ([ "--shell=${shell}" ]
++ optional (!cfg.enableAliases) "--aliases=false");
in {
home.packages = [ cfg.package ];
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
eval "$(${cfg.package}/bin/scmpuff init -s)"
eval "$(${cfg.package}/bin/scmpuff init ${mkArgs "bash"})"
'';
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
eval "$(${cfg.package}/bin/scmpuff init -s)"
eval "$(${cfg.package}/bin/scmpuff init ${mkArgs "zsh"})"
'';
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration
(mkAfter ''
${cfg.package}/bin/scmpuff init -s --shell=fish | source
${cfg.package}/bin/scmpuff init ${mkArgs "fish"} | source
'');
};
});
}