{ config, pkgs, ... }: let zsh-config = { enable = true; shellAliases = { #ll = "ls -l"; #update = "sudo nixos-rebuild switch"; }; history.size = 1000; history.ignoreDups = true; #history.ignoreAllDups = true; oh-my-zsh = { enable = true; plugins = [ # Provides many aliases and a few useful functions. #"git" # Easily prefix your current or previous commands with sudo by pressing `esc` twice. #"sudo" ]; #theme = "robbyrussell"; theme = "agnoster"; }; }; in { # https://nixos.wiki/wiki/Command_Shell # https://nixos.wiki/wiki/Zsh programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; # Inside the following Home Manager configuration block, # `config` refers to Home Manager configuration. home-manager.users.yoda = { osConfig, config, pkgs, ... }: { programs.zsh = zsh-config // { # nix-repl: config.home-manager.users.yoda.programs.zsh.history.path # -> ~/.local/share/.histfile history.path = "${config.xdg.dataHome}/.histfile"; }; }; home-manager.users.root = { osConfig, config, pkgs, ... }: { programs.zsh = zsh-config // { history.path = "${config.xdg.dataHome}/.histfile"; }; }; }