vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / config / vte.nix
bloba86a148b54f982e1d5ae3885fe1500002be0fd57
1 { config, pkgs, lib, ... }:
2 let
4   vteInitSnippet = ''
5     # Show current working directory in VTE terminals window title.
6     # Supports both bash and zsh, requires interactive shell.
7     . ${pkgs.vte.override { gtkVersion = null; }}/etc/profile.d/vte.sh
8   '';
14   meta = {
15     maintainers = lib.teams.gnome.members;
16   };
18   options = {
20     programs.bash.vteIntegration = lib.mkOption {
21       default = false;
22       type = lib.types.bool;
23       description = ''
24         Whether to enable Bash integration for VTE terminals.
25         This allows it to preserve the current directory of the shell
26         across terminals.
27       '';
28     };
30     programs.zsh.vteIntegration = lib.mkOption {
31       default = false;
32       type = lib.types.bool;
33       description = ''
34         Whether to enable Zsh integration for VTE terminals.
35         This allows it to preserve the current directory of the shell
36         across terminals.
37       '';
38     };
40   };
42   config = lib.mkMerge [
43     (lib.mkIf config.programs.bash.vteIntegration {
44       programs.bash.interactiveShellInit = lib.mkBefore vteInitSnippet;
45     })
47     (lib.mkIf config.programs.zsh.vteIntegration {
48       programs.zsh.interactiveShellInit = vteInitSnippet;
49     })
50   ];