authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-05-08 15:01:44-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-05-12 21:21:54-07:00
log3ca6191b1bb7a67ad542962d501d3ad61c771bc0
treed699586a053e4b9f460035df9dddd27ba4732235
parent08f4390f3321397ef6b7c0e57619ca6a4d39573e
signature Signed by SSH key SHA256:cOKiuRFOeSRxne6EWgHtdQQSlBxjOXm2hOCFnCdLQbQ

clover: ai stuff, please forgive me everyone for falling into the trap


4 files changed, 51 insertions(+), 38 deletions(-)

packages/autofmt/default.nix+10-12
......@@ -11,17 +11,15 @@ let
1111 zig
1212 ];
1313in
14pkgs.symlinkJoin {
14pkgs.writeTextFile {
1515 name = "autofmt";
16 paths = [
17 (pkgs.writeTextFile {
18 name = "autofmt";
19 destination = "/bin/autofmt";
20 executable = true;
21 text = builtins.replaceStrings
22 [ "#!/usr/bin/env node" ]
23 [ "#!${pkgs.nodejs}/bin/node" ]
24 (builtins.readFile ./autofmt.js);
25 })
26 ] ++ runtimeInputs;
16 destination = "/bin/autofmt";
17 executable = true;
18 text = builtins.replaceStrings
19 [ "#!/usr/bin/env node" ]
20 [
21 ''#!${pkgs.nodejs}/bin/node
22 process.env.PATH = "${pkgs.lib.makeBinPath runtimeInputs}:" + (process.env.PATH ?? "");''
23 ]
24 (builtins.readFile ./autofmt.js);
2725}
users/clover/AGENTS.md created+1
......@@ -0,0 +1 @@
1../../../.config/opencode/AGENTS.md
\ No newline at end of file
users/clover/home.nix+14-26
......@@ -146,28 +146,6 @@ in
146146 fi
147147 }
148148
149 function opencode() {
150 local image="opencode-local"
151 if ! docker image inspect "$image" &>/dev/null; then
152 echo "opencode: image not found, building..." >&2
153 docker build -t "$image" "$HOME/config/files/opencode" || { echo "opencode: build failed" >&2; return 1; }
154 fi
155 docker run --rm -it \
156 -v "$(pwd):$(pwd)" \
157 -w "$(pwd)" \
158 -v "$HOME/.config/opencode:/home/agent/.config/opencode" \
159 -v "$HOME/.local/share/opencode:/home/agent/.local/share/opencode" \
160 -v "$HOME/.local/state/opencode:/home/agent/.local/state/opencode" \
161 -v "$HOME/.config/opencode:$HOME/.config/opencode" \
162 -v "$HOME/.local/share/opencode:$HOME/.local/share/opencode" \
163 -v "$HOME/.local/state/opencode:$HOME/.local/state/opencode" \
164 -v "$HOME/.cache/opencode:$HOME/.cache/opencode" \
165 --env-file <(env | grep '^OPENAI_\|^ANTHROPIC_\|^OPENCODE_\|^XDG_') \
166 --name "opencode-$(basename $(pwd))-$$" \
167 "$image" \
168 opencode "$@"
169 }
170
171149 function jj() {
172150 if [[ "$*" = "git push"* ]] && [[ "$*" != *"--dry-run"* ]]; then
173151 if command jj "$@" --dry-run; then
......@@ -185,6 +163,7 @@ in
185163
186164 git = {
187165 # use a git-specific email
166 ignores = [ "AGENTS.md" ];
188167 settings.user.email = "git@paperclover.net";
189168 settings.gpg.ssh.allowedSignersFile = "${pkgs.writeText "allowed_signers" ''
190169 git@paperclover.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAVa1aq1LEj/VXHJYlR5HJpK65lS/9jOL/dAB9ZS1chd
......@@ -213,15 +192,19 @@ in
213192 "working_copy remote_bookmarks" = colors."working_copy bookmark";
214193
215194 "author" = {
216 fg = "white";
195 fg = "bright black";
217196 bold = false;
218197 italic = true;
219198 };
220199 "working_copy author" = colors.author;
200 committer = {
201 fg = "bright black";
202 bold = false;
203 };
221204
222205 desc = {
223 bold = false;
224 fg = "bright white";
206 bold = true;
207 fg = "default";
225208 };
226209 description = colors.desc;
227210 cc_wip = {
......@@ -231,7 +214,7 @@ in
231214 };
232215 cc_header = {
233216 bold = true;
234 fg = "bright white";
217 fg = "default";
235218 };
236219 cc_feat = "green";
237220 cc_fix = "red";
......@@ -250,6 +233,10 @@ in
250233 bold = true;
251234 reverse = true;
252235 };
236 "change_id shortest rest" = {
237 fg = "bright black";
238 bold = true;
239 };
253240 conflict_marker = {
254241 fg = "bright red";
255242 bold = true;
......@@ -257,6 +244,7 @@ in
257244 };
258245
259246 timestamp = "bright black";
247 "committer timestamp" = colors.committer;
260248 commit_id = {
261249 fg = "bright black";
262250 bold = false;
users/clover/switch-admin.sh created+26
......@@ -0,0 +1,26 @@
1#!/bin/sh
2set -eu
3
4cd /Users/clo/config
5
6target_host="${1:-}"
7if [ -z "$target_host" ]; then
8 if [ -f .hostname ]; then
9 target_host="$(cat .hostname)"
10 else
11 target_host="$(hostname)"
12 fi
13fi
14
15case "$target_host" in
16 '' | *[!A-Za-z0-9._-]*)
17 printf 'invalid host: %s\n' "$target_host" >&2
18 exit 2
19 ;;
20esac
21
22if [ "$(uname -s)" != Darwin ]; then
23 exec ./switch "$target_host"
24fi
25
26exec osascript -e "do shell script \"cd /Users/clo/config && /nix/var/nix/profiles/default/bin/nix run .#darwin-rebuild -- switch --flake .#$target_host\" with administrator privileges"