Request
Please provide a flake in this repository that exposes installable T3 Code desktop packages for NixOS users:
Output under packages.${system} |
Version |
default |
Alias of stable |
t3code |
Alias of stable |
stable |
Latest published stable release |
nightly |
Latest published nightly release |
Matching apps outputs would also make nix run work for each channel.
I want to add github:pingdotgg/t3code directly to my system's flake inputs, choose a release channel, and get the newest published version when I update that input and rebuild.
Current situation
There is currently no root flake.nix on main. For a declarative desktop installation through a flake, one existing option is Sawrz/t3code-nix, linked in #347.
For example, a user can add this input to their existing system flake:
inputs.t3code-nix.url = "github:Sawrz/t3code-nix";
Then, in a NixOS module that receives inputs through specialArgs:
{ inputs, pkgs, ... }:
{
environment.systemPackages = [
inputs.t3code-nix.packages.${pkgs.stdenv.hostPlatform.system}.t3code
];
}
Or try the desktop app directly:
nix run github:Sawrz/t3code-nix#t3code
That community package is useful, but it adds a separate packaging repository to the update path. Its README describes checks every six hours followed by an update PR. Users depend on that repository publishing its packaging update before updating their own input picks up a new T3 Code release.
Proposed usage
With official outputs, the same installation could use this repository directly. For example:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
t3code.url = "github:pingdotgg/t3code";
};
outputs = { nixpkgs, ... }@inputs: {
nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
({ pkgs, inputs, ... }: {
environment.systemPackages = [
inputs.t3code.packages.${pkgs.stdenv.hostPlatform.system}.stable
];
})
];
};
};
}
This assumes an existing configuration.nix. To use nightly, change the package selection from .stable to .nightly. Users who want the default stable release can select .default or .t3code.
From the system configuration directory, updating would be:
nix flake update t3code
sudo nixos-rebuild switch --flake .#my-host
For a quick launch without adding a system package, the proposed interface would be:
nix run --refresh github:pingdotgg/t3code#stable
nix run --refresh github:pingdotgg/t3code#nightly
These official-input examples describe the requested interface; they do not work today.
Keeping releases current
Please update the flake's package versions and hashes as part of publishing stable and nightly releases, so the corresponding package is available as soon as the release is published. This would let NixOS users update directly from upstream without waiting for a downstream packaging update.
The user's flake.lock should still pin the selected revision for reproducibility and rollback. “Latest” means the newest published version after an explicit input update and rebuild; a locked configuration should remain pinned.
Starting with the existing x86_64-linux desktop release would be enough. Packaging the published AppImage with the required NixOS runtime wrapper is a reasonable first implementation. A development shell alone would not satisfy this installation use case.
Related work
This request focuses on a small, documented installation interface with stable and nightly packages kept in sync with upstream releases.
Request
Please provide a flake in this repository that exposes installable T3 Code desktop packages for NixOS users:
packages.${system}defaultstablet3codestablestablenightlyMatching
appsoutputs would also makenix runwork for each channel.I want to add
github:pingdotgg/t3codedirectly to my system's flake inputs, choose a release channel, and get the newest published version when I update that input and rebuild.Current situation
There is currently no root
flake.nixonmain. For a declarative desktop installation through a flake, one existing option is Sawrz/t3code-nix, linked in #347.For example, a user can add this input to their existing system flake:
Then, in a NixOS module that receives
inputsthroughspecialArgs:Or try the desktop app directly:
That community package is useful, but it adds a separate packaging repository to the update path. Its README describes checks every six hours followed by an update PR. Users depend on that repository publishing its packaging update before updating their own input picks up a new T3 Code release.
Proposed usage
With official outputs, the same installation could use this repository directly. For example:
This assumes an existing
configuration.nix. To use nightly, change the package selection from.stableto.nightly. Users who want the default stable release can select.defaultor.t3code.From the system configuration directory, updating would be:
nix flake update t3code sudo nixos-rebuild switch --flake .#my-hostFor a quick launch without adding a system package, the proposed interface would be:
These official-input examples describe the requested interface; they do not work today.
Keeping releases current
Please update the flake's package versions and hashes as part of publishing stable and nightly releases, so the corresponding package is available as soon as the release is published. This would let NixOS users update directly from upstream without waiting for a downstream packaging update.
The user's
flake.lockshould still pin the selected revision for reproducibility and rollback. “Latest” means the newest published version after an explicit input update and rebuild; a locked configuration should remain pinned.Starting with the existing
x86_64-linuxdesktop release would be enough. Packaging the published AppImage with the required NixOS runtime wrapper is a reasonable first implementation. A development shell alone would not satisfy this installation use case.Related work
This request focuses on a small, documented installation interface with stable and nightly packages kept in sync with upstream releases.