Import from a file
Paste or upload a config
Paste a configuration.nix or home.nix, or upload the files (up to 200 KB each). Ternix reads packages and option values without evaluating Nix, lists anything that needs evaluation (let bindings, functions, interpolation, lib.mkIf) with its line number, and never imports values that look like secrets.
configuration.nix (NixOS)
home.nix (Home Manager)
Repository import
Accountless public import, with optional GitHub sync
idle
-
Repository
Fetch metadata and default branch from GitHub.
-
Files
Fetch flake.nix, flake.lock, and up to 200 Nix files under the selected root.
-
Parse
Read inputs, hosts, imports, modules, and option values without evaluating Nix.
-
Review
Review the graph and diagnostics, then load a host into the builder.
Optional GitHub sync is not configured. Public repository import still works. Set
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, and TERNIX_SESSION_SECRET.Public repositories import without an account (GitHub allows 60 anonymous API requests per hour per IP). Optional GitHub sync uses an encrypted httpOnly session for private repository import, repository selection, and Push to GitHub from the builder.
Import is read-only: Ternix never edits files in your repository. To send a generated config back, use Push to GitHub in the builder, which opens a pull request with new files for you to review. Nix is not evaluated here, so run
nix flake check before merging.