From d318aec82f9c0eaa9fe744b4a17b0ebff7a5f5ab Mon Sep 17 00:00:00 2001 From: Kj Tsanaktsidis Date: Fri, 12 Sep 2025 18:20:13 +1000 Subject: Something that looks like a zsh config --- kj-laptop01/home.nix | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'kj-laptop01/home.nix') diff --git a/kj-laptop01/home.nix b/kj-laptop01/home.nix index e21b0ba..0ece086 100644 --- a/kj-laptop01/home.nix +++ b/kj-laptop01/home.nix @@ -25,4 +25,71 @@ home.file.".ssh/id_ed25519.pub" = { text = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMtGcEXu5S/0zsF6Suxc65DmGFGt1JWRnqadoVhErOed kjtsanaktsidis@KJMacbookGroq.local"; }; + + # Zsh configuration + programs.zsh = { + enable = true; + history = { + size = 1000000; + save = 1000000; + append = true; + extended = true; + ignoreSpace = false; + ignoreDups = false; + }; + + initContent = '' + # Initialize completion system + autoload -Uz compinit + compinit + + # Initialize prompt system + autoload -Uz promptinit + promptinit + + # Set options + setopt extendedglob nomatch notify + + # Define gentoo prompt theme + prompt_gentoo_help () { + cat <<'EOF' + This prompt is color-scheme-able. You can invoke it thus: + + prompt gentoo [ [ []]] + + EOF + } + + prompt_gentoo_setup () { + local prompt_gentoo_prompt=''${1:-'blue'} + local prompt_gentoo_user=''${2:-'green'} + local prompt_gentoo_root=''${3:-'red'} + + if [ "$USER" = 'root' ] + then + local base_prompt="%B%F{$prompt_gentoo_root}%m%k " + else + local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k " + fi + local post_prompt="%b%f%k" + + local path_prompt="%B%F{$prompt_gentoo_prompt}%1~" + typeset -g PS1="$base_prompt$path_prompt %# $post_prompt" + typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt" + typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt" + } + + # Register the prompt with promptinit + prompt_themes+=( gentoo ) + + # Use the gentoo prompt + prompt gentoo + ''; + }; + + # FZF with standard keybindings + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; } -- cgit v1.2.3