Commit Diff


commit - 68344b0d86bba6f970593d0c4a9541bfa880690a
commit + 828fc2369b17f03c7a88cf7e1f1eee69d78c25bc
blob - 3860befae0bef8ec8d8ceb46bc0e3d0d83b5c405
blob + 7ada3ceee0541285cef542f403038948053e4a73
--- flake.lock
+++ flake.lock
@@ -162,11 +162,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1788921139,
-        "narHash": "sha256-2wRuvf9UDw1SYWtBcxNmxLeAtNU1i/hc1c0AKQHdvlM=",
+        "lastModified": 1789071706,
+        "narHash": "sha256-S+oyh2YSP9V5bSjWbbK0N7GxdxxMwgBfUOtUdVcAWc4=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "a2dbe7c2c9333e8234ae8114c7f731784201d108",
+        "rev": "150f9ce4ddd41544ea42eb9d6043a75bd615fa24",
         "type": "github"
       },
       "original": {
@@ -248,11 +248,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1788922888,
-        "narHash": "sha256-QMX3uerxnW2R5dHcWpIQILHDltOZnon3x3Spq7EzBFI=",
+        "lastModified": 1789012029,
+        "narHash": "sha256-1CBkBf+Nhggykzlx0jvXrj5rk20btl+tK8Fa8Ml/BL4=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a391f95d4557d685fd8e5dc0d4b1f9271aa2f342",
+        "rev": "d5dfd8e6716dde34398bc14bc87c10dece9c8c68",
         "type": "github"
       },
       "original": {
blob - 9573d6178896e4430ce0297540cd7b74f2389fe5
blob + 2a4a523d942859e6f0ec4cc73364dd128e74e589
--- home.nix
+++ home.nix
@@ -13,6 +13,7 @@
   home = {
     inherit username homeDirectory;
     stateVersion = "26.11";
+    fileActivator = "putter";
   };
 
   news = {
blob - d80342f0b6e513054f1fd1c02b33ed690e4af476
blob + 13968e6f99a7780ab5d08660fc5ad1a2dcbfed7b
--- modules/mixins/dotfiles/config/zsh/rc/llm
+++ modules/mixins/dotfiles/config/zsh/rc/llm
@@ -20,41 +20,41 @@ pi_recent_models() {
 		head -n "$n"
 }
 
-pa() {
-	[ "$PWD" = "$HOME" ] && return
-	local isolate="pisol" model args
-	args=("$@")
-	[ "${1:-}" = "--yolo" ] && {
-		isolate=
-		args=("${args[@]:1}")
-	}
-	$isolate pi --offline --provider "synthetic" --model "syn:small:text" "${args[@]}"
-}
-
 paj() {
-	[ "$PWD" = "$HOME" ] && return
-	local isolate="pisol" model args
+	local isolate args model provider recent
 	args=("$@")
-	[ "${1:-}" = "--yolo" ] && {
+	isolate="pisol"
+
+	case "${args[0]}" in
+	--reuse | --continue)
 		isolate=
-		args=("${args[@]:1}")
-	}
-	local candidates recents
-	candidates=$(pi --list-models 2>/dev/null | awk 'NR > 1 {print $1 " "$2}')
-	recents=$(pi_recent_models 100) || recents=
-	candidates=$(
-		printf '%s\n' "$recents" | grep -xFf <(printf '%s\n' "$candidates") || true
-		printf '%s\n' "$candidates" | grep -Fxvf <(printf '%s\n' "$recents") || true
-	)
-	model=$(printf '%s\n' "$candidates" | fzf) &&
-		provider=${model%% *}
+		shift
+		;;
+	esac
+
+	# Use fzf picker for 10 models unless --reuse or --continue
+	if [ -z "${isolate}" ]; then
+		recent=$(pi_recent_models 10 2>/dev/null) || recent=""
+	fi
+
+	candidates=$(pi --list-models 2>/dev/null | awk 'NR > 1 {print $1 " "$2}') || candidates=""
+
+	if [ -n "$recent" ] && [ -n "$candidates" ]; then
+		# Show recent + non-recent
+		model=$(printf '%s\n' "$recent" | grep -xFf <(printf '%s' "$candidates") || true)
+		model=$(printf '%s%s' "$model" "\\n$(printf '%s' "$candidates" | grep -Fxvf <(printf '%s' "$recent"))" | fzf) || true
+	else
+		model=$(printf '%s' "$candidates" | fzf) || model="default"
+	fi
+
+	[ -z "$model" ] && model="default"
+	provider=${model%% *}
 	rest=${model#* }
-	[ "$rest" = "$model" ] && rest=$model
-	$isolate pi --offline --provider "$provider" --model "$rest" "${args[@]}"
+
+	[ "$rest" = "$model" ] && rest="$model"
+
+	$isolate pi --provider "$provider" --model "$rest" "${args[@]}"
 }
 
-alias alpaq='alpaca quota'
-alias alpac='alpaca compose'
-
-alias pajol='paj --yolo'
-alias pajolo='paj --yolo'
+alias pajre='paj --reuse'
+alias pajco='paj --continue'