tmux: allow setting default-shell before new-session

This commit is contained in:
Joe Hermaszewski 2019-10-15 10:23:32 +08:00 committed by Robert Helgesson
parent 7c3c64208e
commit 9c14bbe988
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
4 changed files with 70 additions and 1 deletions

View file

@ -0,0 +1,30 @@
# ============================================= #
# Start with defaults from the Sensible plugin #
# --------------------------------------------- #
run-shell @sensible_rtp@
# ============================================= #
set -g default-terminal "screen"
set -g base-index 0
setw -g pane-base-index 0
# We need to set default-shell before calling new-session
set -g default-shell "/usr/bin/myshell"
set -g status-keys emacs
set -g mode-keys emacs
setw -g aggressive-resize off
setw -g clock-mode-style 12
set -s escape-time 500
set -g history-limit 2000

View file

@ -0,0 +1,27 @@
{ config, lib, pkgs, ... }:
with lib;
let
substituteExpected = path:
pkgs.substituteAll {
src = path;
sensible_rtp = pkgs.tmuxPlugins.sensible.rtp;
};
in {
config = {
programs.tmux = {
enable = true;
shell = "/usr/bin/myshell";
};
nmt.script = ''
assertFileExists home-files/.tmux.conf
assertFileContent home-files/.tmux.conf \
${substituteExpected ./default-shell.conf}
'';
};
}

View file

@ -4,4 +4,5 @@
tmux-vi-all-true = ./vi-all-true.nix;
tmux-secure-socket-enabled = ./secure-socket-enabled.nix;
tmux-disable-confirmation-prompt = ./disable-confirmation-prompt.nix;
tmux-default-shell = ./default-shell.nix;
}