{ 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; }; }; }