1
Fork 0
satellite/modules/applications/tmux.nix

73 lines
2 KiB
Nix

{ pkgs, lib, ... }:
let
theme = pkgs.myThemes.current;
fastcopy = pkgs.tmuxPlugins.mkTmuxPlugin
{
pluginName = "fastcopy";
version = "unstable-2022-11-16";
src = pkgs.fetchFromGitHub
{
owner = "abhinav";
repo = "tmux-fastcopy";
sha256 = "1ald4ycgwj1fhk82yvsy951kgnn5im53fhsscz20hvjsqql7j4j3";
rev = "41f4c1c9fae7eb05c85ee2e248719f004dcfc90e";
};
};
cowboy = pkgs.tmuxPlugins.mkTmuxPlugin
{
pluginName = "cowboy";
version = "unstable-2021-05-11";
src = pkgs.fetchFromGitHub
{
owner = "tmux-plugins";
repo = "tmux-cowboy";
sha256 = "16wqwfaqy7nhiy1ijkng1x4baqq7s9if0m3ffcrnakza69s6r4r8";
rev = "75702b6d0a866769dd14f3896e9d19f7e0acd4f2";
};
};
muxile = pkgs.callPackage ./tmux/muxile.nix { };
in
{
home-manager.users.adrielus.programs = {
# Add tmux-navigator plugin to neovim
# neovim.extraPackages = [ pkgs.vimPlugins.vim-tmux-navigator ];
tmux = {
enable = true;
clock24 = true; # 24h clock format
# terminal = "screen-256color"; # more colors
historyLimit = 10000; # increase amount of saved lines
plugins = with pkgs.tmuxPlugins; [
# cpu # Show CPU load with easy icons
# vim-tmux-navigator # Switch between tmux and vim panes with ease
sessionist # Nicer workflow for switching around between session
# fastcopy # Easy copying of stuff
resurrect # Save / restore tmux sessions
# muxile # Track tmux sessions on my phone
# cowboy # kill all hanging processes inside pane
{
plugin = continuum; # start tmux on boot & more
extraConfig = ''
set -g @continuum-restore 'on'
set -g @continuum-boot 'on'
'';
}
];
extraConfig = ''
# Load current theme
source ${theme.tmux.path}
# load the rest of the config
source ${../../dotfiles/tmux/tmux.conf}
'';
};
};
}