From 652c69424411e332fb9caaa6e1d8ee05aff90af4 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Thu, 4 Apr 2019 15:04:24 -0700 Subject: [PATCH] programs.tmux: implement secureSocket --- modules/programs/tmux.nix | 8 +++++++- tests/modules/programs/tmux/default.nix | 1 + tests/modules/programs/tmux/hm-session-vars.sh | 5 +++++ .../programs/tmux/secure-socket-enabled.nix | 17 +++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 tests/modules/programs/tmux/hm-session-vars.sh create mode 100644 tests/modules/programs/tmux/secure-socket-enabled.nix diff --git a/modules/programs/tmux.nix b/modules/programs/tmux.nix index b436948bb..b65da1b14 100644 --- a/modules/programs/tmux.nix +++ b/modules/programs/tmux.nix @@ -251,7 +251,7 @@ in ++ optional cfg.tmuxinator.enable pkgs.tmuxinator ++ optional cfg.tmuxp.enable pkgs.tmuxp; - home.file.".tmux.conf".text = tmuxConf; + home.file.".tmux.conf".text = tmuxConf; } (mkIf cfg.sensibleOnTop { @@ -264,6 +264,12 @@ in ''; }) + (mkIf cfg.secureSocket { + home.sessionVariables = { + TMUX_TMPDIR = ''''${XDG_RUNTIME_DIR:-"/run/user/\$(id -u)"}''; + }; + }) + (mkIf (cfg.plugins != []) { assertions = [( let diff --git a/tests/modules/programs/tmux/default.nix b/tests/modules/programs/tmux/default.nix index 5bc311772..16d6d63e4 100644 --- a/tests/modules/programs/tmux/default.nix +++ b/tests/modules/programs/tmux/default.nix @@ -2,4 +2,5 @@ tmux-emacs-with-plugins = ./emacs-with-plugins.nix; tmux-not-enabled = ./not-enabled.nix; tmux-vi-all-true = ./vi-all-true.nix; + tmux-secure-socket-enabled = ./secure-socket-enabled.nix; } diff --git a/tests/modules/programs/tmux/hm-session-vars.sh b/tests/modules/programs/tmux/hm-session-vars.sh new file mode 100644 index 000000000..40d9c24b5 --- /dev/null +++ b/tests/modules/programs/tmux/hm-session-vars.sh @@ -0,0 +1,5 @@ +# Only source this once. +if [ -n "$__HM_SESS_VARS_SOURCED" ]; then return; fi +export __HM_SESS_VARS_SOURCED=1 + +export TMUX_TMPDIR="${XDG_RUNTIME_DIR:-"/run/user/\$(id -u)"}" diff --git a/tests/modules/programs/tmux/secure-socket-enabled.nix b/tests/modules/programs/tmux/secure-socket-enabled.nix new file mode 100644 index 000000000..34e9129c5 --- /dev/null +++ b/tests/modules/programs/tmux/secure-socket-enabled.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + programs.tmux = { + enable = true; + secureSocket = true; + }; + + nmt.script = '' + assertFileExists home-path/etc/profile.d/hm-session-vars.sh + assertFileContent home-path/etc/profile.d/hm-session-vars.sh ${./hm-session-vars.sh} + ''; + }; +}