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

  environment.systemPackages = with pkgs; [
    bmon
    wget
  ];

  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";
        print3d = "sudo /run/current-system/sw/bin/pronsole.py";
        nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
      };

      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"
        ];
      };
    };

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

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

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