nixos/modules/options/shell.nix

39 lines
727 B
Nix

{
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
[ ]
);
}