{ pkgs, config, inputs, ... }: {
  programs.zsh.enable = true;
  users.users.coded.shell = pkgs.zsh;

  home-manager.users.coded.programs = {
    # ZSH
    zsh = {
      enable = true;
      enableAutosuggestions = true;
      enableCompletion = true;
      autocd = true;
      defaultKeymap = "emacs";

      shellAliases = {
        rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
        "gr!" = "git review";
        clr = "clear";
        pnpx = "pnpm dlx";
      };

      dirHashes = { code = "$HOME/Documents/programming"; };

      history = { extended = true; };
      historySubstringSearch.enable = true;

      oh-my-zsh = {
        enable = true;
        plugins = [ "git" ];
      };
    };

    # Starship
    starship = {
      enable = true;
      settings = { format = "$all"; };
    };
    
    # Alacritty
    alacritty = {
      enable = true;
      settings = {
        window.dimensions = {
          lines = 40;
          columns = 150;
        };
        import = [
          "${inputs.alacritty-themes}/themes/Catppuccin-Mocha.yml"
        ];
      };
    };

    # htop
    # htop = {
    #   enable = true;
    #   settings = {
    #     color_scheme = 6;
    #     cpu_count_from_one = 0;
    #     delay = 15;
    #     fields = with home-manager.config.lib.htop.fields; [
    #       PID
    #       USER
    #       PERCENT_CPU
    #       PERCENT_MEM
    #       M_SIZE
    #       M_RESIDENT
    #       M_SHARE
    #       STATE
    #       TIME
    #       COMM
    #     ];
    #   } // (with home-manager.config.lib.htop; leftMeters [
    #     (bar "AllCPUs2")
    #     (bar "Memory")
    #     (bar "Swap")
    #     (text "Zram")
    #   ]) // (with home-manager.config.lib.htop; rightMeters [
    #     (text "Tasks")
    #     (text "LoadAverage")
    #     (text "Uptime")
    #     (text "Systemd")
    #   ]);
    # };

    # Nix-index
    nix-index.enable = true;

    # thefuck
    thefuck = {
      enable = true;
      enableInstantMode = true;
    };
  };

  environment.pathsToLink =
    [ "/share/zsh" ]; # needed for completing system packages
}
