{ config, lib, pkgs, ... }: with lib; let cfg = config.settings.applications.zsh; in { options = { settings.applications.zsh.enable = lib.mkOption { type = lib.types.bool; description = '' Enable zsh shell ''; }; }; config = mkIf cfg.enable { home.packages = with pkgs; [ eza bat ]; home.shellAliases = { ls = "eza"; }; programs.bash = { enable = false; }; programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; }; programs.starship = { enable = true; enableBashIntegration = true; enableZshIntegration = true; }; programs.skim = { enable = true; enableZshIntegration = true; }; }; }