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

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

  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";
        edit = "nvim";
        neovim = "nvim";
        v = "nvim";
        doom = "~/.config/emacs/bin/doom";
      };

      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
}
