more home manager. tmux
This commit is contained in:
67
home.nix
67
home.nix
@@ -1,7 +1,7 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ bat wget clipit ncmpcpp pandoc silver-searcher tmux tree unzip wirelesstools xcape xsel anki pavucontrol ranger blueman gifsicle networkmanager paprefs steam mpv nnn nodejs pinentry vlc gnupg nitrogen alacritty wine tldr yarn spotify signal-desktop mu mosh ispell google-chrome emacs-all-the-icons-fonts gnupg python3 python37Packages.pip veracrypt bashmount exfat exfat-utils neofetch toot rtv newsboat neomutt i3lock-pixeled nmap p4v killall calc cargo cava diceware magic-wormhole msmtp xorg.xmodmap zip youtube-dl cacert dropbox-cli keepassx2 w3m wireshark-qt khard khal vdirsyncer slack riot-web retroarch ipfs gimp blender urlview
|
home.packages = with pkgs; [ bat wget clipit ncmpcpp pandoc silver-searcher tree unzip wirelesstools xcape xsel anki pavucontrol ranger blueman gifsicle networkmanager paprefs steam mpv nnn nodejs pinentry vlc gnupg nitrogen alacritty wine tldr yarn spotify signal-desktop mu mosh ispell google-chrome emacs-all-the-icons-fonts gnupg python3 python37Packages.pip veracrypt bashmount exfat exfat-utils neofetch toot rtv newsboat neomutt i3lock-pixeled nmap p4v killall calc cargo cava diceware magic-wormhole msmtp xorg.xmodmap zip youtube-dl cacert dropbox-cli keepassx2 w3m wireshark-qt khard khal vdirsyncer slack riot-web retroarch ipfs gimp blender urlview
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
@@ -117,6 +117,71 @@
|
|||||||
programs.htop.enable = true;
|
programs.htop.enable = true;
|
||||||
programs.jq.enable = true;
|
programs.jq.enable = true;
|
||||||
programs.vscode.enable = true;
|
programs.vscode.enable = true;
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
shortcut = "a";
|
||||||
|
keyMode = "vi";
|
||||||
|
baseIndex = 1;
|
||||||
|
newSession = true;
|
||||||
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
|
sensible resurrect pain-control continuum copycat open urlview
|
||||||
|
{
|
||||||
|
plugin = yank;
|
||||||
|
extraConfig = "set -g @yank_selection_mouse 'primary'";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
bind-key -n C-0 select-window -t :0
|
||||||
|
bind-key -n C-1 select-window -t :1
|
||||||
|
bind-key -n C-2 select-window -t :2
|
||||||
|
bind-key -n C-3 select-window -t :3
|
||||||
|
bind-key -n C-4 select-window -t :4
|
||||||
|
bind-key -n C-5 select-window -t :5
|
||||||
|
bind-key -n C-6 select-window -t :6
|
||||||
|
bind-key -n C-7 select-window -t :7
|
||||||
|
bind-key -n C-8 select-window -t :8
|
||||||
|
bind-key -n C-9 select-window -t :9
|
||||||
|
|
||||||
|
set -g set-titles on
|
||||||
|
set -g set-titles-string "#H (#S)"
|
||||||
|
set -g status-right ""
|
||||||
|
set -g status-left ""
|
||||||
|
|
||||||
|
set-option -g mouse on
|
||||||
|
set-option -g status-bg default
|
||||||
|
set-option -g status-fg "#666666"
|
||||||
|
set-option -g status-attr default
|
||||||
|
set-option -g pane-border-fg "#666666"
|
||||||
|
set-option -g pane-active-border-fg "#666666"
|
||||||
|
set-option -g message-bg black
|
||||||
|
set-option -g message-fg white
|
||||||
|
set-option -g display-panes-active-colour white
|
||||||
|
set-option -g display-panes-colour white
|
||||||
|
|
||||||
|
set-window-option -g window-status-fg "#666666"
|
||||||
|
set-window-option -g window-status-bg default
|
||||||
|
set-window-option -g window-status-current-fg white
|
||||||
|
set-window-option -g window-status-current-bg default
|
||||||
|
set-window-option -g window-status-format " #W"
|
||||||
|
set-window-option -g window-status-current-format " #W"
|
||||||
|
set-window-option -g window-status-separator " "
|
||||||
|
set-window-option -g clock-mode-colour white
|
||||||
|
|
||||||
|
# remove when tmux-plugin-navigator plugin is added
|
||||||
|
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||||
|
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||||
|
tmux bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
|
||||||
|
tmux bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
|
||||||
|
tmux bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
|
||||||
|
tmux bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
|
||||||
|
tmux bind-key -n C-\\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
|
||||||
|
tmux bind-key -T copy-mode-vi C-h select-pane -L
|
||||||
|
tmux bind-key -T copy-mode-vi C-j select-pane -D
|
||||||
|
tmux bind-key -T copy-mode-vi C-k select-pane -U
|
||||||
|
tmux bind-key -T copy-mode-vi C-l select-pane -R
|
||||||
|
tmux bind-key -T copy-mode-vi C-\\ select-pane -l
|
||||||
|
'';
|
||||||
|
};
|
||||||
# programs.fish = {
|
# programs.fish = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# shellAliases = {
|
# shellAliases = {
|
||||||
|
|||||||
@@ -1,13 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# ln -sf ~/dotfiles/zshrc ~/.zshrc
|
|
||||||
mkdir -p ~/.config/fish; ln -sf ~/dotfiles/config.fish ~/.config/fish/config.fish
|
|
||||||
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
|
|
||||||
ln -sf ~/dotfiles/fishfile ~/.config/fish/fishfile
|
|
||||||
mkdir ~/.ghc; ln -sf ~/dotfiles/ghci.conf ~/.ghc/ghci.conf
|
mkdir ~/.ghc; ln -sf ~/dotfiles/ghci.conf ~/.ghc/ghci.conf
|
||||||
ln -sf ~/dotfiles/gitconfig ~/.gitconfig
|
ln -sf ~/dotfiles/gitconfig ~/.gitconfig
|
||||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||||
ln -sf ~/dotfiles/tmux.conf ~/.tmux.conf
|
# ln -sf ~/dotfiles/tmux.conf ~/.tmux.conf
|
||||||
mkdir -p ~/.config/khal; ln -sf ~/dotfiles/khal.conf ~/.config/khal/config
|
mkdir -p ~/.config/khal; ln -sf ~/dotfiles/khal.conf ~/.config/khal/config
|
||||||
mkdir ~/.config/vdirsyncer; ln -sf ~/dotfiles/vdirsyncer/config ~/.config/vdirsyncer/config
|
mkdir ~/.config/vdirsyncer; ln -sf ~/dotfiles/vdirsyncer/config ~/.config/vdirsyncer/config
|
||||||
mkdir ~/.gnupg; ln -sf ~/dotfiles/gpg-agent.conf ~/.gnupg/gpg-agent.conf
|
mkdir ~/.gnupg; ln -sf ~/dotfiles/gpg-agent.conf ~/.gnupg/gpg-agent.conf
|
||||||
|
|||||||
Reference in New Issue
Block a user