From 96b50b4c71b0ffe009118519e4474b0cd4ac6e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Fri, 6 Mar 2026 10:34:22 -0800 Subject: [PATCH 1/3] add home public key --- home/key.pub | 1 + lib/keys.nix | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 home/key.pub diff --git a/home/key.pub b/home/key.pub new file mode 100644 index 00000000..29ef1835 --- /dev/null +++ b/home/key.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK2+zD2rG/UzIClZ1MgSrzMlWdj9ljzcSzwuH8dHXP1a agenix diff --git a/lib/keys.nix b/lib/keys.nix index e928f0c4..39dd1f30 100644 --- a/lib/keys.nix +++ b/lib/keys.nix @@ -14,3 +14,6 @@ let ]; in builtins.listToAttrs hostKeyPairs + // { + home = firstLine (builtins.readFile ./../home/key.pub); + } From 7efe41413b19fb2df4e48b062e933d848048dbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Fri, 6 Mar 2026 11:59:32 -0800 Subject: [PATCH 2/3] add aichat --- .claude/settings.local.json | 7 +++++-- home/programs/aichat.nix | 23 +++++++++++++++++++++++ home/programs/default.nix | 1 + home/secrets/aichat-env.age | Bin 0 -> 446 bytes lib/hosts.nix | 1 + lib/secrets.nix | 2 ++ lib/secrets/home.nix | 5 +++++ 7 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 home/programs/aichat.nix create mode 100644 home/secrets/aichat-env.age create mode 100644 lib/secrets/home.nix diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 8838cb84..49f017c5 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -4,8 +4,11 @@ "Bash(nix flake check)", "Bash(rg:*)", "Bash(mkdir:*)", - "Bash(git add:*)" + "Bash(git add:*)", + "WebFetch(domain:raw.githubusercontent.com)", + "WebFetch(domain:github.com)", + "WebSearch" ], "deny": [] } -} \ No newline at end of file +} diff --git a/home/programs/aichat.nix b/home/programs/aichat.nix new file mode 100644 index 00000000..6ea99186 --- /dev/null +++ b/home/programs/aichat.nix @@ -0,0 +1,23 @@ +{config, ...}: { + age.identityPaths = [ + "${config.home.homeDirectory}/.ssh/id_ed25519_agenix" + ]; + + age.secrets.aichat-env = { + file = ../secrets/aichat-env.age; + }; + + programs.aichat = { + enable = true; + settings = { + model = "claude:claude-sonnet-4-20250514"; + clients = [ + {type = "claude";} + ]; + }; + }; + + programs.zsh.sessionVariables = { + AICHAT_ENV_FILE = config.age.secrets.aichat-env.path; + }; +} diff --git a/home/programs/default.nix b/home/programs/default.nix index 2dc56c70..616e142b 100644 --- a/home/programs/default.nix +++ b/home/programs/default.nix @@ -1,5 +1,6 @@ {pkgs, ...}: { imports = [ + ./aichat.nix ./starship.nix ./tmux.nix ./zsh.nix diff --git a/home/secrets/aichat-env.age b/home/secrets/aichat-env.age new file mode 100644 index 0000000000000000000000000000000000000000..0cccad34318c32decc501b9d175a8837e64b3a58 GIT binary patch literal 446 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCU7GRSsK4^${EEi17o z_ctp@Gph)S$a6Ici8OGH$gglSEHHNsbPhk^JUg^9(A~_k zGRQ0>&?GF+#mvjZvRvEHzrrKLIGamXS687TBUL}b&oDVT&?nu^!!O;xD$qAK)G;!t z(j?KTJSZ>3wA9Bjslwee#E~nRv*JzV2Djx7c{46#KaXNr+sn{8N!$KqlUFb6R+BvC zDWBCpO#gJ?!J}Y-cf1U`Q3TNCof6uA7lqMf{ zm;AYhLM#v1KK^~}1m|4er@0R6ANYBGHWpuOw{Z2^nB Date: Fri, 6 Mar 2026 15:54:10 -0800 Subject: [PATCH 3/3] move age configuration to top-level home --- home/default.nix | 5 +++++ home/programs/aichat.nix | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/home/default.nix b/home/default.nix index 07415134..9bd4d358 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,5 @@ { + config, pkgs, lib, hostname, @@ -9,6 +10,10 @@ ./services.nix ]; + age.identityPaths = [ + "${config.home.homeDirectory}/.ssh/id_ed25519_agenix" + ]; + rc = lib.mkMerge [ { editor.enable = true; diff --git a/home/programs/aichat.nix b/home/programs/aichat.nix index 6ea99186..b47c32b5 100644 --- a/home/programs/aichat.nix +++ b/home/programs/aichat.nix @@ -1,8 +1,4 @@ {config, ...}: { - age.identityPaths = [ - "${config.home.homeDirectory}/.ssh/id_ed25519_agenix" - ]; - age.secrets.aichat-env = { file = ../secrets/aichat-env.age; };