{ config , pkgs , hmLib , lib , userOptions , ... }: { home.sessionVariables = { EDITOR = "nvim"; }; home.sessionPath = [ "${userOptions.userHome}/.cargo/bin" ]; home.activation.coursierSetup = hmLib.hm.dag.entryAfter [ "writeBoundary" ] '' $DRY_RUN_CMD ${pkgs.coursier}/bin/cs setup --env --jvm 21 ''; programs.fzf = { enable = true; enableZshIntegration = true; }; programs.zsh = { enable = true; enableCompletion = true; initContent = '' bindkey '\e.' insert-last-word if java_home=$(cs java-home --jvm 21 2>/dev/null); then export JAVA_HOME="$java_home" fi ''; plugins = [ { name = "fzf-tab"; src = pkgs.fetchFromGitHub { owner = "Aloxaf"; repo = "fzf-tab"; rev = "v1.2.0"; sha256 = "0mnsmfv0bx6np2r6pll43h261v7mh2ic1kd08r7jcwyb5xarfvmb"; }; } ]; }; programs.git = { enable = true; settings = { user = { email = "${userOptions.gitEmail}"; name = "${userOptions.gitName}"; }; pull.rebase = true; merge.conflictstyle = "zdiff3"; }; }; services.gpg-agent = { enable = true; }; programs.tmux = { enable = true; extraConfig = '' set -g default-command "${pkgs.zsh}/bin/zsh" ''; }; programs.starship = { enable = true; enableZshIntegration = true; }; }