Compare commits

...

2 commits

Author SHA1 Message Date
Bruno BELANYI 05973b93ff home: tmux: add 'enabledPassthrough'
All checks were successful
continuous-integration/drone/push Build is passing
This is useful for cases where some programs expect to be able to use
the tmux passthrough escape sequences by using the tmux passthrough
sequence.

One such example is `osc52` script I packaged.

However I like the idea of tmux filtering all escape sequences by
default, so it's not enabled by default.
2023-03-16 16:42:55 +00:00
Bruno BELANYI 20341a3129 refactor: 'with lib.my' -> 'with lib' 2023-03-16 16:42:55 +00:00
12 changed files with 38 additions and 29 deletions

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.bat; cfg = config.my.home.bat;
in in
{ {
options.my.home.bat = with lib.my; { options.my.home.bat = with lib; {
enable = mkDisableOption "bat configuration"; enable = my.mkDisableOption "bat configuration";
}; };
config.programs.bat = lib.mkIf cfg.enable { config.programs.bat = lib.mkIf cfg.enable {

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.documentation; cfg = config.my.home.documentation;
in in
{ {
options.my.home.documentation = with lib.my; { options.my.home.documentation = with lib; {
enable = mkDisableOption "documentation integration"; enable = my.mkDisableOption "documentation integration";
}; };
# Add documentation for user packages # Add documentation for user packages

View file

@ -5,8 +5,8 @@ let
inherit (lib.my) mkMailAddress; inherit (lib.my) mkMailAddress;
in in
{ {
options.my.home.git = with lib.my; { options.my.home.git = with lib; {
enable = mkDisableOption "git configuration"; enable = my.mkDisableOption "git configuration";
}; };
config.home.packages = with pkgs; lib.mkIf cfg.enable [ config.home.packages = with pkgs; lib.mkIf cfg.enable [

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.htop; cfg = config.my.home.htop;
in in
{ {
options.my.home.htop = with lib.my; { options.my.home.htop = with lib; {
enable = mkDisableOption "htop configuration"; enable = my.mkDisableOption "htop configuration";
}; };
config.programs.htop = lib.mkIf cfg.enable { config.programs.htop = lib.mkIf cfg.enable {

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.jq; cfg = config.my.home.jq;
in in
{ {
options.my.home.jq = with lib.my; { options.my.home.jq = with lib; {
enable = mkDisableOption "jq configuration"; enable = my.mkDisableOption "jq configuration";
}; };
config.programs.jq = lib.mkIf cfg.enable { config.programs.jq = lib.mkIf cfg.enable {

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.nix-index; cfg = config.my.home.nix-index;
in in
{ {
options.my.home.nix-index = with lib.my; { options.my.home.nix-index = with lib; {
enable = mkDisableOption "nix-index configuration"; enable = my.mkDisableOption "nix-index configuration";
}; };
config.programs.nix-index = lib.mkIf cfg.enable { config.programs.nix-index = lib.mkIf cfg.enable {

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.pager; cfg = config.my.home.pager;
in in
{ {
options.my.home.pager = with lib.my; { options.my.home.pager = with lib; {
enable = mkDisableOption "pager configuration"; enable = my.mkDisableOption "pager configuration";
}; };

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.ssh; cfg = config.my.home.ssh;
in in
{ {
options.my.home.ssh = with lib.my; { options.my.home.ssh = with lib; {
enable = mkDisableOption "ssh configuration"; enable = my.mkDisableOption "ssh configuration";
}; };
config.programs.ssh = lib.mkIf cfg.enable { config.programs.ssh = lib.mkIf cfg.enable {

View file

@ -7,8 +7,10 @@ let
]; ];
in in
{ {
options.my.home.tmux = with lib.my; { options.my.home.tmux = with lib; {
enable = mkDisableOption "tmux terminal multiplexer"; enable = my.mkDisableOption "tmux terminal multiplexer";
enabledPassthrough = mkEnableOption "tmux DCS passthrough sequence";
}; };
config.programs.tmux = lib.mkIf cfg.enable { config.programs.tmux = lib.mkIf cfg.enable {
@ -63,6 +65,13 @@ in
# Allow any application to send OSC52 escapes to set the clipboard # Allow any application to send OSC52 escapes to set the clipboard
set -s set-clipboard on set -s set-clipboard on
${
lib.optionalString cfg.enabledPassthrough ''
# Allow any application to use the tmux DCS for passthrough
set -g allow-passthrough on
''
}
''; '';
}; };
} }

View file

@ -18,8 +18,8 @@ let
]; ];
in in
{ {
options.my.home.vim = with lib.my; { options.my.home.vim = with lib; {
enable = mkDisableOption "vim configuration"; enable = my.mkDisableOption "vim configuration";
}; };
config.programs.neovim = lib.mkIf cfg.enable { config.programs.neovim = lib.mkIf cfg.enable {

View file

@ -3,8 +3,8 @@ let
cfg = config.my.home.xdg; cfg = config.my.home.xdg;
in in
{ {
options.my.home.xdg = with lib.my; { options.my.home.xdg = with lib; {
enable = mkDisableOption "XDG configuration"; enable = my.mkDisableOption "XDG configuration";
}; };
config.xdg = lib.mkIf cfg.enable { config.xdg = lib.mkIf cfg.enable {

View file

@ -3,20 +3,20 @@ let
cfg = config.my.system.documentation; cfg = config.my.system.documentation;
in in
{ {
options.my.system.documentation = with lib.my; { options.my.system.documentation = with lib; {
enable = mkDisableOption "Documentation integration"; enable = my.mkDisableOption "Documentation integration";
dev.enable = mkDisableOption "Documentation aimed at developers"; dev.enable = my.mkDisableOption "Documentation aimed at developers";
info.enable = mkDisableOption "Documentation aimed at developers"; info.enable = my.mkDisableOption "Documentation aimed at developers";
man = { man = {
enable = mkDisableOption "Documentation aimed at developers"; enable = my.mkDisableOption "Documentation aimed at developers";
linux = mkDisableOption "Linux man pages (section 2 & 3)"; linux = my.mkDisableOption "Linux man pages (section 2 & 3)";
}; };
nixos.enable = mkDisableOption "NixOS documentation"; nixos.enable = my.mkDisableOption "NixOS documentation";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {