at master 1.1 kB view raw
1{ 2 pkgs, 3 config, 4 lib, 5 ... 6}: 7let 8 inherit (lib) 9 mkEnableOption 10 mkPackageOption 11 mkRemovedOptionModule 12 optionalString 13 mkIf 14 ; 15 cfg = config.programs.skim; 16in 17{ 18 imports = [ 19 (mkRemovedOptionModule [ "programs" "skim" "fuzzyCompletion" ] 20 "programs.skim.fuzzyCompletion has been removed. Completions are now included in the package itself." 21 ) 22 ]; 23 24 options = { 25 programs.skim = { 26 enable = mkEnableOption "skim fuzzy finder"; 27 keybindings = mkEnableOption "skim keybindings"; 28 package = mkPackageOption pkgs "skim" { }; 29 }; 30 }; 31 32 config = mkIf cfg.enable { 33 environment.systemPackages = [ cfg.package ]; 34 35 programs.bash.interactiveShellInit = optionalString cfg.keybindings '' 36 source ${cfg.package}/share/skim/key-bindings.bash 37 ''; 38 39 programs.zsh.interactiveShellInit = optionalString cfg.keybindings '' 40 source ${cfg.package}/share/skim/key-bindings.zsh 41 ''; 42 43 programs.fish.interactiveShellInit = optionalString cfg.keybindings '' 44 source ${cfg.package}/share/skim/key-bindings.fish && skim_key_bindings 45 ''; 46 }; 47}