From 79dd78b911e9d3d0a4b1b407a1a233a288f44ff8 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 21 Aug 2019 15:56:25 -0400 Subject: nixos/vte: init This module correctly includes the vte.sh script required for vte terminals like gnome-terminal to show the CWD in the window title and preserved across instances. This is achieved with the options: * programs.bash.vteIntegration * programs.zsh.vteIntegration as it's best to keep this configuration unguarded by gnome3.enable to support other vte terminals (such as elementary-terminal). Note the distinction between Zsh and Bash doesn't include a different script, as this script only supports those two shells. --- nixos/modules/config/vte.nix | 52 +++++++++++++++++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 53 insertions(+) create mode 100644 nixos/modules/config/vte.nix (limited to 'nixos') diff --git a/nixos/modules/config/vte.nix b/nixos/modules/config/vte.nix new file mode 100644 index 00000000000..9024ceddaee --- /dev/null +++ b/nixos/modules/config/vte.nix @@ -0,0 +1,52 @@ +# VTE + +{ config, pkgs, lib, ... }: + +with lib; + +let + + vteInitSnippet = '' + # Show current working directory in VTE terminals window title. + # Supports both bash and zsh, requires interactive shell. + . ${pkgs.vte}/etc/profile.d/vte.sh + ''; + +in + +{ + + options = { + + programs.bash.vteIntegration = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable Bash integration for VTE terminals. + This allows it to preserve the current directory of the shell + across terminals. + ''; + }; + + programs.zsh.vteIntegration = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable Zsh integration for VTE terminals. + This allows it to preserve the current directory of the shell + across terminals. + ''; + }; + + }; + + config = mkMerge [ + (mkIf config.programs.bash.vteIntegration { + programs.bash.interactiveShellInit = vteInitSnippet; + }) + + (mkIf config.programs.zsh.vteIntegration { + programs.zsh.interactiveShellInit = vteInitSnippet; + }) + ]; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index bcf1f38ac8d..fc5821f6030 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -37,6 +37,7 @@ ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/vpnc.nix + ./config/vte.nix ./config/zram.nix ./hardware/acpilight.nix ./hardware/all-firmware.nix -- cgit 1.4.1