diff --git a/flake.nix b/flake.nix index 901c9f6..4ffafb0 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,50 @@ ... }: { + packages.x86_64-linux = + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + t3Version = "0.0.15"; + t3App = pkgs.appimageTools.wrapType2 rec { + pname = "t3"; + version = t3Version; + + src = pkgs.fetchurl { + url = "https://github.com/pingdotgg/t3code/releases/download/v${version}/T3-Code-${version}-x86_64.AppImage"; + hash = "sha256:67ccbb4961f9e7e642edc469828d1c746dbbdeb6c38854b7a5742ddeea7bb038"; + }; + + extraPkgs = pkgs: [ pkgs.xdg-utils ]; + }; + t3Icon = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/pingdotgg/t3code/v${t3Version}/apps/desktop/resources/icon.png"; + hash = "sha256-rXMAXnje7dOKxoqQ/G16Ohub9A54IPhhlv9x1/aKcvw="; + }; + t3Desktop = pkgs.makeDesktopItem { + name = "t3-code"; + desktopName = "T3 Code"; + genericName = "AI Coding Assistant"; + exec = "t3 %U"; + icon = "${t3Icon}"; + terminal = false; + categories = [ + "Development" + "IDE" + ]; + startupNotify = true; + comment = "Launch T3 Code from the GitHub release AppImage"; + }; + in + { + t3code = pkgs.symlinkJoin { + name = "t3code-${t3Version}"; + paths = [ + t3App + t3Desktop + ]; + }; + }; + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; nixosConfigurations = { framework = nixpkgs.lib.nixosSystem { diff --git a/home.nix b/home.nix index 6fc3820..27f398a 100644 --- a/home.nix +++ b/home.nix @@ -9,13 +9,6 @@ let name = "Jet"; email = "jet@extremist.software"; sshSigningKey = "~/.ssh/id_ed25519.pub"; - t3 = pkgs.writeShellApplication { - name = "t3"; - runtimeInputs = [ pkgs.nodejs_24 ]; - text = '' - exec npx --yes --package=t3@0.0.14 t3 "$@" - ''; - }; zellijNewTabZoxide = pkgs.writeShellApplication { name = "zellij-new-tab-zoxide"; runtimeInputs = [ @@ -500,7 +493,7 @@ in ffmpeg-full claude-code opencode - t3 + inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.t3code zellijNewTabZoxide zellijSyncTabName inputs.codex-cli-nix.packages.${pkgs.stdenv.hostPlatform.system}.default