typioca: 2.7.0 -> 2.8.0
[NixPkgs.git] / nixos / modules / programs / iay.nix
blob9164f5cb6486289eda142de98c04589f227dd54e
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.programs.iay;
5   inherit (lib) mkEnableOption mkIf mkOption mkPackageOptionMD optionalString types;
6 in {
7   options.programs.iay = {
8     enable = mkEnableOption (lib.mdDoc "iay");
9     package = mkPackageOptionMD pkgs "iay" {};
11     minimalPrompt = mkOption {
12       type = types.bool;
13       default = false;
14       description = lib.mdDoc "Use minimal one-liner prompt.";
15     };
16   };
18   config = mkIf cfg.enable {
19     programs.bash.promptInit = ''
20       if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
21         PS1='$(iay ${optionalString cfg.minimalPrompt "-m"})'
22       fi
23     '';
25     programs.zsh.promptInit = ''
26       if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
27         autoload -Uz add-zsh-hook
28         _iay_prompt() {
29           PROMPT="$(iay -z ${optionalString cfg.minimalPrompt "-m"})"
30         }
31         add-zsh-hook precmd _iay_prompt
32       fi
33     '';
34   };
36   meta.maintainers = pkgs.iay.meta.maintainers;