diff --git a/dotfiles/tmux/tmux.conf b/dotfiles/tmux/tmux.conf new file mode 100644 index 0000000..84baaba --- /dev/null +++ b/dotfiles/tmux/tmux.conf @@ -0,0 +1,18 @@ +# remap prefix to Control + a +set -g prefix C-a +unbind C-b +bind C-a send-prefix + +# force a reload of the config file (I don't think this works on nixos) +unbind r +bind r source-file ~/.tmux.conf + +# quick pane cycling +unbind ^A +bind ^A select-pane -t :.+ + +# Vim-like keybinds for switching between panes +bind -n m-h select-pane -L +bind -n m-l select-pane -R +bind -n m-k select-pane -U +bind -n m-j select-pane -D diff --git a/flake.lock b/flake.lock index 7dbcec8..6675fde 100644 --- a/flake.lock +++ b/flake.lock @@ -19,11 +19,11 @@ "easy-dhall-nix": { "flake": false, "locked": { - "lastModified": 1640162628, - "narHash": "sha256-fdOoWZo76twDMMTSF8Pe1qlsmXL9VO/QNWZcwUWiz/A=", + "lastModified": 1645736928, + "narHash": "sha256-jjEqfh+M73+t2Iq/IKjAGr2d2kGUeo9A7Wu7V0IxdzI=", "owner": "justinwoo", "repo": "easy-dhall-nix", - "rev": "7675f6f0cf5f28d2e36a8ca156b9c47ca75b820b", + "rev": "dce9acbb99776a7f1344db4751d6080380f76f57", "type": "github" }, "original": { @@ -35,11 +35,11 @@ "easy-purescript-nix": { "flake": false, "locked": { - "lastModified": 1644823918, - "narHash": "sha256-fhr5sisPsm2uzm0VenH7Urpc+AcI39OGpPNaUVTD/8Q=", + "lastModified": 1646209831, + "narHash": "sha256-or8Z6aMWdrqcmFA0hhjjb6FIiW14C0ruwXAqy+zYZ8g=", "owner": "justinwoo", "repo": "easy-purescript-nix", - "rev": "3630943b74f681289ed87a0ed6c3e502556ddebb", + "rev": "aa72388ca0fb72ed64467f59a121db1f104897db", "type": "github" }, "original": { @@ -82,11 +82,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1629481132, - "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "997f7efcb746a9c140ce1f13c72263189225f482", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -113,11 +113,11 @@ "githubNvimTheme": { "flake": false, "locked": { - "lastModified": 1642931254, - "narHash": "sha256-3Rp0oL+yhojQ6bIejS4IlPzyrxut7LcuobykonrpAEc=", + "lastModified": 1645953701, + "narHash": "sha256-FZGmcsc0GWW32gEvcBkJh+oFPjRamsFTRJd8VTAf5QY=", "owner": "projekt0n", "repo": "github-nvim-theme", - "rev": "1700dfe790985ce859868e16e13dcda0ec80cb3f", + "rev": "4ad832edd70be94af43fd3f21065e73987b4176e", "type": "github" }, "original": { @@ -133,11 +133,11 @@ ] }, "locked": { - "lastModified": 1645479152, - "narHash": "sha256-8au2xAPSi3yGQBaVrYUpMY30lY9tMuNn7UMAHL7NJtw=", + "lastModified": 1646559628, + "narHash": "sha256-WDoqxH/IPTV8CkI15wwzvXYgXq9UPr8xd8WKziuaynw=", "owner": "nix-community", "repo": "home-manager", - "rev": "69536af27e86a9fc875d71cb9566ccccf47b5b60", + "rev": "afe96e7433c513bf82375d41473c57d1f66b4e68", "type": "github" }, "original": { @@ -156,11 +156,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1645480882, - "narHash": "sha256-EHXbr96JiprqxiVQy1NnrCmYB0+HK1EAdWdXQiZ03Cw=", + "lastModified": 1646712943, + "narHash": "sha256-FuYXH7g8OW8P+mAMLP/zx3zJOENtGIv5tLaOzKPP+is=", "owner": "neovim", "repo": "neovim", - "rev": "30c9c8815b531e0130ebeb9358bc6d3947a6128a", + "rev": "2783f4cc4a410cd3b73e8cdfbdf8c859c426c6c6", "type": "github" }, "original": { @@ -179,11 +179,11 @@ ] }, "locked": { - "lastModified": 1645517666, - "narHash": "sha256-DeQmb7GXKScYKPVXASBlgaARdXO4B9u6um32UPnFIZo=", + "lastModified": 1646727299, + "narHash": "sha256-i18vMn+iXvPRAxPb96lEuEVkrQ75qKEZZomfo67JRJI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f6ce5a9aec32a336cf7045b380a50a42583acd3a", + "rev": "c26d33c2fbcf5f689a2592b2353f4f8765eea1da", "type": "github" }, "original": { @@ -194,11 +194,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1645433236, - "narHash": "sha256-4va4MvJ076XyPp5h8sm5eMQvCrJ6yZAbBmyw95dGyw4=", + "lastModified": 1646497237, + "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7f9b6e2babf232412682c09e57ed666d8f84ac2d", + "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", "type": "github" }, "original": { @@ -210,11 +210,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1645488570, - "narHash": "sha256-29Fvczhd20K3ol0wbQrFlsUiYUDoGnpOR2XJTdrRnZA=", + "lastModified": 1646675913, + "narHash": "sha256-ZvGf51XpXM7JojKLZ5yI0XLUq8UOFX6AwZ3bhtdcpIo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "491ad20776074706da6befe0cb8334f2df23fc00", + "rev": "9b1c7ba323732ddc85a51850a7f10ecc5269b8e9", "type": "github" }, "original": { @@ -226,11 +226,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1645493675, - "narHash": "sha256-9xundbZQbhFodsQRh6QMN1GeSXfo3y/5NL0CZcJULz0=", + "lastModified": 1646470760, + "narHash": "sha256-dQISyucVCCPaFioUhy5ZgfBz8rOMKGI8k13aPDFTqEs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "74b10859829153d5c5d50f7c77b86763759e8654", + "rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1645366942, - "narHash": "sha256-2jIT/nz+gelrLI6TcPlT5Awm0Hr/HsozMvOn6lMzp1o=", + "lastModified": 1646576673, + "narHash": "sha256-zS5O7nW4sBzAa+hnEfI2P8J42XjfyEYrUU0VXnbvIIA=", "owner": "m15a", "repo": "nixpkgs-vim-extra-plugins", - "rev": "6a77da622616f01e9b4a4504fa4ce86acc42ac4b", + "rev": "efe7a114effc4e242b3b8a848a6c86e1b552994b", "type": "github" }, "original": { diff --git a/modules/applications/tmux.nix b/modules/applications/tmux.nix index 0e465ff..8ef5034 100644 --- a/modules/applications/tmux.nix +++ b/modules/applications/tmux.nix @@ -1,5 +1,27 @@ { pkgs, ... }: { - home-manager.users.adrielus.programs.tmux = { - enable = true; + 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 + ]; + + extraConfig = '' + # load the rest of the config + source-file ${../../dotfiles/tmux/tmux.conf} + + # Use github light theme + source-file ${pkgs.githubNvimTheme}/terminal/tmux/github_light.conf + ''; + }; }; }