{ config, lib, pkgs, ... }: let cfg = config.hive.zsh; omz_custom = "${config.home.homeDirectory}/.config/omz_custom"; in { options.hive.zsh = { enable = lib.mkEnableOption "Enable Zsh"; }; config = lib.mkIf cfg.enable { home.file."${omz_custom}" = { source = ./static/omz_custom; recursive = true; }; # direnv programs.direnv = { enable = true; enableZshIntegration = true; nix-direnv.enable = true; }; # fancy ls command programs.lsd = { enable = true; }; # Zsh programs.zsh = { enable = true; enableCompletion = true; syntaxHighlighting.enable = true; 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; }; }; home.packages = with pkgs; [ bat fzf git htop killall nh nix-output-monitor nix-search-cli nix-tree nixpkgs-fmt pass ranger thefuck unstable.mmtui unzip vim w3m wget yt-dlp zip ]; }; }