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