From 63ec3d366eb92137d94a80ebe5d1432c085a3366 Mon Sep 17 00:00:00 2001 From: Phil Pluckthun Date: Thu, 22 Oct 2026 13:41:43 +0100 Subject: [PATCH] Add required setup for T3 connect --- home/development/t3code.nix | 12 ++++++++++++ modules/server/t3code/default.nix | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/home/development/t3code.nix b/home/development/t3code.nix index dcbc2db..73655f2 100644 --- a/home/development/t3code.nix +++ b/home/development/t3code.nix @@ -11,6 +11,7 @@ let "--set-default" "T3CODE_TELEMETRY_ENABLED" (boolToString cfg.telemetry) "--set" "T3CODE_DISABLE_AUTO_UPDATE" "true" ] + ++ concatLists (mapAttrsToList (name: value: [ "--set-default" name value ]) cfg.environment) ++ auth.wrapperArgs envFiles; configureSettings = pkgs.writeShellScript "t3code-settings" '' @@ -52,6 +53,17 @@ let }; in { options.modules.development.t3code = { + environment = mkOption { + type = types.attrsOf types.str; + default = { + T3CODE_CLOUDFLARED_PATH = "${pkgs.cloudflared}/bin/cloudflared"; + T3CODE_CLERK_PUBLISHABLE_KEY = "pk_live_Y2xlcmsudDMuY29kZXMk"; + T3CODE_CLERK_CLI_OAUTH_CLIENT_ID = "hzxSgY2cH10sDU2r"; + T3CODE_RELAY_URL = "https://relay.t3.codes"; + }; + description = "Default runtime environment shared by the T3 wrappers and server. Public configuration only; use environmentFile for credentials."; + }; + settings = mkOption { default = { }; type = json.type; diff --git a/modules/server/t3code/default.nix b/modules/server/t3code/default.nix index 93fe523..11e4faf 100644 --- a/modules/server/t3code/default.nix +++ b/modules/server/t3code/default.nix @@ -35,6 +35,9 @@ let export T3CODE_HOME=${home}/.t3 T3CODE_NO_BROWSER=true export T3CODE_TELEMETRY_ENABLED=${boolToString homeCfg.telemetry} export T3CODE_DISABLE_AUTO_UPDATE=true + ${concatStringsSep "\n" (mapAttrsToList (name: value: + "export ${name}=${escapeShellArg value}" + ) homeCfg.environment)} export GIT_TERMINAL_PROMPT=0 GH_PROMPT_DISABLED=1 GH_NO_UPDATE_NOTIFIER=1 # agenix installs secrets asynchronously at boot. @@ -73,6 +76,11 @@ let --base-dir ${home}/.t3 --base-url ${cfg.publicUrl} --ttl 10m "$@" ''; + connectHelper = pkgs.writeShellScriptBin "t3code-connect" '' + exec ${shellHelper}/bin/t3code-shell ${t3} connect link \ + --base-dir ${home}/.t3 --headless "$@" + ''; + in helpers.darwinAttrs { imports = [ ./lifecycle.nix ]; @@ -118,7 +126,7 @@ in helpers.darwinAttrs { }; }; - environment.systemPackages = [ shellHelper pairHelper ]; + environment.systemPackages = [ shellHelper pairHelper connectHelper ]; power.restartAfterPowerFailure = mkDefault true; -- knotmirror 0.0.1