{ pkgs, ... }: let commitFunctions = pkgs.writeTextDir "bin/commits.sh" (builtins.readFile ./scripts/commits.sh); in { home.packages = with pkgs; [ any-nix-shell ]; programs.zsh = { enable = true; oh-my-zsh = { enable = true; plugins = [ "git" "sudo" "docker" "docker-compose" "systemd" ]; theme = "bira"; }; autosuggestion.enable = false; dotDir = ".config/zsh"; initExtra = '' # avoid macOS updates to destroy nix if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then source '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' fi any-nix-shell zsh --info-right | source /dev/stdin source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh ${if pkgs.stdenv.isDarwin then "export PATH=/opt/homebrew/opt/ruby/bin:/opt/homebrew/bin:/opt/homebrew/sbin:$PATH" else ""} recap() { aichat -f "$@" ;} source ${commitFunctions}/bin/commits.sh ''; }; }