{config, ...}: let
  omz_custom = "${config.home.homeDirectory}/.config/omz_custom";
in {
  home.file."${omz_custom}" = {
    source = ./static/omz_custom;
    recursive = true;
  };

  # direnv
  programs.direnv = {
    enable = true;
    enableZshIntegration = true;
    nix-direnv.enable = true;
  };

  # Zsh
  programs.zsh = {
    enable = true;
    enableCompletion = true;
    syntaxHighlighting.enable = true;

    shellAliases = {
      ll = "ls -l";
      update = "sudo nixos-rebuild switch";
    };
    history.size = 10000;
    history.path = "${config.xdg.dataHome}/zsh/history";
    oh-my-zsh = {
      enable = true;
      plugins = [
        "docker"
        "docker-compose"
        "fzf"
        "git"
        "pass"
        "poetry"
        "python"
        "rust"
        "thefuck"
      ];
      theme = "my_bureau";
      custom = omz_custom;
    };
  };
}
