{ pkgs, user, ... }: { users.users.${user}.shell = pkgs.zsh; programs.zsh.enable = true; home-manager.users.${user} = { programs.zsh = { enable = true; # TODO create directory if non existent history.path = "$HOME/zsh/history"; shellAliases = { # Tmux shrothands # https://github.com/gabysbrain/machine_config/blob/master/config/tmux.nix ta = "tmux attach -t"; tl = "tmux list-sessions"; tks = "tmux kill-session -t"; tn = "tmux new-session -t"; # ssh pink = "ssh root@32.54.31.99"; carbon = "ssh root@32.54.31.180"; cyan = "ssh 4o1x5@cyan.4o1x5.dev"; }; initExtra = '' PROMPT="[%M] %~ " ''; sessionVariables = { EDITOR = "nvim"; # https://discourse.nixos.org/t/tmux-doesnt-use-tmux-config-generated-by-nix/42392/2 # for some reason tmux nix doesnt configure tmux right so I have to manually set it's configuration path ZSH_TMUX_CONFIG = "/etc/tmux.conf"; }; antidote = { enable = true; plugins = [ "marlonrichert/zsh-autocomplete" "zsh-users/zsh-syntax-highlighting" ]; }; }; }; }