{ config, lib, ... }: with lib; let cfg = config.modules.shell; zshCfg = config.modules.zsh; in { options.modules.shell = { defaultShell = mkOption { type = types.enum [ "bash" "zsh" ]; default = "zsh"; description = '' The default shell to use for your user account. ''; }; }; config.assertions = [ ] ++ ( if cfg.defaultShell == "zsh" then [ { assertion = zshCfg.enable; message = "You have selected zsh as the default shell, but you haven't enabled it in your configuration.\n\nPlease enable it by adding `modules.zsh.enable = true`."; } ] else [ ] ); }