nixos/modules/options/shell.nix

32 lines
684 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 []);
}