{ config, pkgs, ... }: { programs = { bash = { enable = true; enableLsColors = true; completion = { enable = true; package = pkgs.bash-completion; }; promptInit = '' PS1="(\h) [\u:\$PWD] % " ''; shellAliases = { "mount" = "doas mount --mkdir -v $@"; "mkdir" = "mkdir -pv"; "cp" = "cp -rv"; "mv" = "mv -v $@"; "rm" = "rm -v $@ -I"; "ls" = "${pkgs.eza}/bin/eza --icons -l"; "http" = "${pkgs.python3}/bin/python3 -m http.server 1337"; "sudo" = "doas"; "myip" = "curl -sSL icanhazip.com"; "update" = "doas nixos-rebuild switch"; "f" = "fastfetch"; }; }; git = { enable = true; config = { init = { defaultBranch = "main"; safe.directory = "/etc/nixos"; }; url = { "https://github.com" = { insteadOf = [ "github:" ]; }; }; }; }; tmux = { enable = true; keyMode = "vi"; aggressiveResize = true; terminal = "tmux-256color"; extraConfig = '' unbind C-b # unbind t set -g prefix C-space bind C-space send-prefix bind r source-file /etc/tmux.conf setw -g mode-keys vi setw -g mouse on # make ctrl + arrow keys working set -s extended-keys on set -as terminal-features 'xterm*:extkeys' set -g xterm-keys on bind-key -n S-Left select-pane -L bind-key -n S-Down select-pane -D bind-key -n S-Up select-pane -U bind-key -n S-Right select-pane -R bind-key -n C-t new-window "#{pane_current_path}" bind t new-window bind-key -n M-w previous-window bind-key -n M-e next-window set -g base-index 1 set -g renumber-windows on set-window-option -g clock-mode-colour colour196 set -g status-bg black set -g status-fg white set -g status-position bottom set -g status-interval 1 set -g status-left-length 64 set -g status-left "#[bg=colour196,fg=black,bold] [#S] #[bg=black,fg=colour196,nobold,noitalics,nounderscore] " set -g status-right-length 64 set -g status-right "#[bg=black,fg=black]#[bg=black,fg=white] #{pane_title} #[bg=black,fg=colour196,bold]#[bg=colour196,fg=black,bold] %a %d %b  #[fg=black,bold]%H:%M:%S " set-window-option -g window-status-current-format "#[bg=colour196,fg=black,nobold,noitalics,nounderscore]#[bg=colour196,fg=black,bold] #I #[bg=colour196,fg=black,bold] #W#{?window_zoomed_flag,*Z,} #[bg=black,fg=colour196,nobold,noitalics,nounderscore]" set-window-option -g window-status-format "#[bg=black,fg=black,noitalics]#[bg=black,fg=white] #I #[bg=black,fg=white] #W #[bg=black,fg=black,noitalics]" bind - split-window bind \\ split-window -h ''; }; }; }