mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
52 lines
1.6 KiB
Nix
52 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.programs.comma;
|
|
in
|
|
{
|
|
options.programs.comma = {
|
|
enable = lib.mkEnableOption "comma";
|
|
package = lib.mkPackageOption pkgs "comma" { };
|
|
enableBashIntegration = lib.mkEnableOption "comma command-not-found handler for bash" // {
|
|
default = true;
|
|
};
|
|
enableZshIntegration = lib.mkEnableOption "comma command-not-found handler for zsh" // {
|
|
default = true;
|
|
};
|
|
enableFishIntegration = lib.mkEnableOption "comma command-not-found handler for fish" // {
|
|
default = true;
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
environment.systemPackages = [ cfg.package ];
|
|
programs = {
|
|
bash.interactiveShellInit = lib.mkIf cfg.enableBashIntegration ''
|
|
source ${cfg.package}/share/comma/command-not-found.sh
|
|
'';
|
|
zsh.interactiveShellInit = lib.mkIf cfg.enableZshIntegration ''
|
|
source ${cfg.package}/share/comma/command-not-found.sh
|
|
'';
|
|
fish.interactiveShellInit = ''
|
|
source ${cfg.package}/share/comma/command-not-found.fish
|
|
'';
|
|
|
|
# Disable *other* command-not-found handlers
|
|
command-not-found.enable = lib.mkIf (
|
|
cfg.enableBashIntegration || cfg.enableZshIntegration || cfg.enableFishIntegration
|
|
) (lib.mkDefault false);
|
|
nix-index = {
|
|
enableBashIntegration = lib.mkIf (cfg.enableBashIntegration) (lib.mkDefault false);
|
|
enableZshIntegration = lib.mkIf (cfg.enableZshIntegration) (lib.mkDefault false);
|
|
enableFishIntegration = lib.mkIf (cfg.enableFishIntegration) (lib.mkDefault false);
|
|
};
|
|
};
|
|
};
|
|
|
|
meta.maintainers = with lib.maintainers; [ pandapip1 ];
|
|
}
|