diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ed6265a77435..09f56c25b0fe 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -313,6 +313,7 @@ ./programs/system-config-printer.nix ./programs/systemtap.nix ./programs/tcpdump.nix + ./programs/television.nix ./programs/thefuck.nix ./programs/thunar.nix ./programs/thunderbird.nix diff --git a/nixos/modules/programs/television.nix b/nixos/modules/programs/television.nix new file mode 100644 index 000000000000..1989df2b925b --- /dev/null +++ b/nixos/modules/programs/television.nix @@ -0,0 +1,42 @@ +{ + config, + lib, + pkgs, + ... +}: +let + inherit (lib.options) mkEnableOption mkPackageOption; + inherit (lib.modules) mkIf; + inherit (lib.meta) getExe; + + cfg = config.programs.television; +in +{ + options.programs.television = { + enable = mkEnableOption "Blazingly fast general purpose fuzzy finder TUI"; + package = mkPackageOption pkgs "television" { }; + + enableBashIntegration = mkEnableOption "Bash integration"; + enableZshIntegration = mkEnableOption "Zsh integration"; + enableFishIntegration = mkEnableOption "Fish integration"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + programs = { + zsh.interactiveShellInit = mkIf cfg.enableZshIntegration '' + eval "$(${getExe cfg.package} init zsh)" + ''; + bash.interactiveShellInit = mkIf cfg.enableBashIntegration '' + eval "$(${getExe cfg.package} init bash)" + ''; + fish.interactiveShellInit = mkIf cfg.enableFishIntegration '' + ${getExe cfg.package} init fish | source + ''; + }; + + }; + + meta.maintainers = with lib.maintainers; [ pbek ]; +}