Zsh Leaf

cells/shell/zsh.nix configures Zsh on both the NixOS side and the Home Manager side.

Up: shell leaves

Down: Starship leaf | users leaf

What this leaf does

On the NixOS side, it enables Zsh and registers the shell.

programs.zsh.enable = true;
environment.shells = with pkgs; [ zsh ];

On the Home Manager side, it enables completions, autosuggestions, syntax highlighting, history settings, Oh My Zsh plugins, custom dotfiles, aliases, direnv, zoxide, and starship initialization.

Why it belongs to base

The shell is part of the daily operating environment. Desktop tools can vary, but an interactive host should have a consistent shell baseline.

Secret handling

The real shell startup can source token files from a private secrets directory. Public docs should describe that pattern without publishing the actual token path or contents.

[ -f ~/.local/private/tokens.zsh ] && source ~/.local/private/tokens.zsh