From 3c76624c7037a3bbc4c0f49366143067fac864a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 8 Apr 2023 22:59:58 +0200 Subject: [PATCH] nixos/fzf: add ohMyZsh integration --- nixos/modules/programs/fzf.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/nixos/modules/programs/fzf.nix b/nixos/modules/programs/fzf.nix index eda4eacde4ac..4442d88941c6 100644 --- a/nixos/modules/programs/fzf.nix +++ b/nixos/modules/programs/fzf.nix @@ -1,8 +1,9 @@ -{pkgs, config, lib, ...}: +{ pkgs, config, lib, ... }: with lib; let cfg = config.programs.fzf; -in { +in +{ options = { programs.fzf = { fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with fzf"); @@ -11,17 +12,21 @@ in { }; config = { environment.systemPackages = optional (cfg.keybindings || cfg.fuzzyCompletion) pkgs.fzf; + programs.bash.interactiveShellInit = optionalString cfg.fuzzyCompletion '' source ${pkgs.fzf}/share/fzf/completion.bash '' + optionalString cfg.keybindings '' source ${pkgs.fzf}/share/fzf/key-bindings.bash ''; - programs.zsh.interactiveShellInit = optionalString cfg.fuzzyCompletion '' - source ${pkgs.fzf}/share/fzf/completion.zsh - '' + optionalString cfg.keybindings '' - source ${pkgs.fzf}/share/fzf/key-bindings.zsh - ''; + programs.zsh.interactiveShellInit = optionalString (!config.programs.zsh.ohMyZsh.enable) + (optionalString cfg.fuzzyCompletion '' + source ${pkgs.fzf}/share/fzf/completion.zsh + '' + optionalString cfg.keybindings '' + source ${pkgs.fzf}/share/fzf/key-bindings.zsh + ''); + + programs.zsh.ohMyZsh.plugins = optional (cfg.keybindings || cfg.fuzzyCompletion) [ "fzf" ]; }; meta.maintainers = with maintainers; [ laalsaas ]; }