Tool tree
gradeNot graded
page: Every page
page-stateAnswer
What trynix currently has: whether a guest is running, which packages are selected, and the link that reproduces this page.
View tool JSON
{
"name": "page-state",
"kind": "answer",
"impl": "imperative",
"description": "What trynix currently has: whether a guest is running, which packages are selected, and the link that reproduces this page.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}search-packagesAnswer
Search the nixpkgs-multiverse index for attribute names. Covers every package in 13 years of nixpkgs history, not only the current release.
View tool JSON
{
"name": "search-packages",
"kind": "answer",
"impl": "imperative",
"description": "Search the nixpkgs-multiverse index for attribute names. Covers every package in 13 years of nixpkgs history, not only the current release.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "part of an attribute name"
},
"limit": {
"type": "integer",
"description": "how many to return (default 20)"
}
},
"required": [
"query"
]
},
"page": "/"
}list-versionsAnswer
Every version of one attribute that nixpkgs ever shipped, newest first, each marked with whether Hydra built it for x86_64-linux. A version with no build cannot be booted: there is nothing in the cache to fetch.
View tool JSON
{
"name": "list-versions",
"kind": "answer",
"impl": "imperative",
"description": "Every version of one attribute that nixpkgs ever shipped, newest first, each marked with whether Hydra built it for x86_64-linux. A version with no build cannot be booted: there is nothing in the cache to fetch.",
"inputSchema": {
"type": "object",
"properties": {
"attr": {
"type": "string",
"description": "an attribute name, e.g. ripgrep"
}
},
"required": [
"attr"
]
},
"page": "/"
}select-packagesAction
Add packages or raw store paths to the selection. A package named without a version takes the newest one the index can boot. Selecting does not boot; call boot afterwards.
View tool JSON
{
"name": "select-packages",
"kind": "act",
"impl": "imperative",
"description": "Add packages or raw store paths to the selection. A package named without a version takes the newest one the index can boot. Selecting does not boot; call boot afterwards.",
"inputSchema": {
"type": "object",
"properties": {
"packages": {
"type": "array",
"description": "attributes to select, optionally at a version",
"items": {
"type": "object",
"properties": {
"attr": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"attr"
]
}
},
"storePaths": {
"type": "array",
"description": "store paths to select verbatim",
"items": {
"type": "string"
}
}
}
},
"page": "/"
}set-cachesAction
Replace the extra binary caches trynix fetches from, each with the public key that vouches for it. cache.nixos.org is always tried first and is not listed here. A cache is only reachable from a browser if it allows cross-origin reads, which cachix does.
View tool JSON
{
"name": "set-caches",
"kind": "act",
"impl": "imperative",
"description": "Replace the extra binary caches trynix fetches from, each with the public key that vouches for it. cache.nixos.org is always tried first and is not listed here. A cache is only reachable from a browser if it allows cross-origin reads, which cachix does.",
"inputSchema": {
"type": "object",
"properties": {
"caches": {
"type": "array",
"description": "the extra caches, in the order to try them",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "e.g. https://my-cache.cachix.org"
},
"key": {
"type": "string",
"description": "its public key, e.g. my-cache.cachix.org-1:0Ma9…"
}
},
"required": [
"url",
"key"
]
}
}
},
"required": [
"caches"
]
},
"page": "/"
}bootAction
Boot the selection in the tab: fetch its closure from cache.nixos.org into an x86_64 Linux VM and wait for a shell. Takes a few seconds on a warm cache and much longer on a cold one. Once a guest is running, selecting more packages and calling boot again adds them without rebooting.
View tool JSON
{
"name": "boot",
"kind": "act",
"impl": "imperative",
"description": "Boot the selection in the tab: fetch its closure from cache.nixos.org into an x86_64 Linux VM and wait for a shell. Takes a few seconds on a warm cache and much longer on a cold one. Once a guest is running, selecting more packages and calling boot again adds them without rebooting.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}run-commandAction
Run a shell command in the running guest and return its output and exit status. This is the only way to read the guest's console: the terminal is drawn on a canvas, so nothing it prints is in the page's DOM.
View tool JSON
{
"name": "run-command",
"kind": "act",
"impl": "imperative",
"description": "Run a shell command in the running guest and return its output and exit status. This is the only way to read the guest's console: the terminal is drawn on a canvas, so nothing it prints is in the page's DOM.",
"inputSchema": {
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "the command to run"
},
"timeoutMs": {
"type": "integer",
"description": "how long to wait before returning what it has printed so far"
}
},
"required": [
"command"
]
},
"page": "/"
}read-consoleAnswer
Everything the guest has said so far, boot messages included. Use this when a boot or a command went wrong and the reason is further back than the last command's output.
View tool JSON
{
"name": "read-console",
"kind": "answer",
"impl": "imperative",
"description": "Everything the guest has said so far, boot messages included. Use this when a boot or a command went wrong and the reason is further back than the last command's output.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}