20 lines
550 B
Nix
20 lines
550 B
Nix
{ inputs, lib, ... }:
|
|
{
|
|
flake.homeModules.shell = { config, ... }:
|
|
{
|
|
options.shell.program = lib.mkOption {
|
|
type = lib.types.enum [ "bash" "zsh" ];
|
|
default = "zsh";
|
|
description = "Which interactive shell configuration to enable.";
|
|
};
|
|
|
|
imports = with inputs.self.homeModules; [ bash zsh ];
|
|
|
|
config = {
|
|
programs.bash.enable = lib.mkForce (config.shell.program == "bash");
|
|
programs.zsh.enable = lib.mkForce (config.shell.program == "zsh");
|
|
home.shell.enableShellIntegration = true;
|
|
};
|
|
};
|
|
}
|