at 25.11-pre 1.1 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7let 8 inherit (lib.options) mkEnableOption mkPackageOption; 9 inherit (lib.modules) mkIf; 10 inherit (lib.meta) getExe; 11 12 cfg = config.programs.television; 13in 14{ 15 options.programs.television = { 16 enable = mkEnableOption "Blazingly fast general purpose fuzzy finder TUI"; 17 package = mkPackageOption pkgs "television" { }; 18 19 enableBashIntegration = mkEnableOption "Bash integration"; 20 enableZshIntegration = mkEnableOption "Zsh integration"; 21 enableFishIntegration = mkEnableOption "Fish integration"; 22 }; 23 24 config = mkIf cfg.enable { 25 environment.systemPackages = [ cfg.package ]; 26 27 programs = { 28 zsh.interactiveShellInit = mkIf cfg.enableZshIntegration '' 29 eval "$(${getExe cfg.package} init zsh)" 30 ''; 31 bash.interactiveShellInit = mkIf cfg.enableBashIntegration '' 32 eval "$(${getExe cfg.package} init bash)" 33 ''; 34 fish.interactiveShellInit = mkIf cfg.enableFishIntegration '' 35 ${getExe cfg.package} init fish | source 36 ''; 37 }; 38 39 }; 40 41 meta.maintainers = with lib.maintainers; [ pbek ]; 42}