{"slug": "run-frontier-models-anywhere-with-deepseek-tui", "title": "Run Frontier Models Anywhere with DeepSeek TUI", "summary": "DeepSeek TUI, a terminal user interface for DeepSeek's models, has gained nearly 33,000 GitHub stars in two weeks. The tool can run against other providers including local models via Ollama or oMLX, and developers can install it using Flox or Nix environments for reproducible setups on Linux, macOS, and Windows/WSL2.", "body_md": "# Run Frontier Models Anywhere with DeepSeek TUI, Nix, and Flox\n\nDeepSeek TUI rocketed to almost [33,000 stars on GitHub](https://github.com/Hmbown/DeepSeek-TUI) within two weeks of launching. [Its creator](https://github.com/Hmbown) describes it as a terminal user interface (TUI) harness for [DeepSeek](https://www.deepseek.com/en/)’s local and cloud models, much as Claude Code is for Anthropic’s and Codex is for OpenAI’s models. But like these harnesses, DeepSeek TUI can run against **other** providers—including local models. With a local Ollama or oMLX model server, you can run DeepSeek TUI against Qwen v3.6 and other cutting-edge local frontier models.\n\nThis article shows two simple patterns for installing and running models locally using DeepSeek TUI as a harness. It showcases how to use CLI coding harnesses DeepSeek TUI against local Qwen 3.6 models optimized for CUDA and MLX, Apple’s open-source machine-learning array framework for Apple Silicon.\n\nThe first pattern has two variations:\n\n- Run DeepSeek TUI using a pre-packaged, pre-configured Flox\n**runtime environment**; - Run DeepSeek TUI as a Nix flake against the remote GitHub repo.\n\nThe second pattern, attached as an **Appendix**, shows software engineers how Flox and Nix drop right into their workflows. It uses Flox and Nix **standardized development environments** to reproducibly build and run DeepSeek TUI from source on Linux, macOS, and Windows/WSL2. It's a proof of concept for using Flox or Nix dev environments to work with Rust and other projects.\n\nIn both patterns, the same declarative environment can run reproducibly in local dev, CI, or production. No containers required.\n\n### Running DeepSeek TUI Against Local Models\n\nThis pattern has two distinct variations. The first uses a Flox environment, the second a Nix flake.\n\n#### 1. With Flox\n\nThe Flox variation of this pattern uses a pre-built ** deepseek-tui** package. Flox itself tracks the upstream DeepSeek TUI project, rebuilding from source and republishing the\n\n**package as new releases ship. It's an example of a Flox runtime environment, bundling DeepSeek TUI and its dependencies, along with a custom-built package that provides setup automation and wrapper helper functions.**\n\n`deepseek-tui`\n\n**Note**: This environment composes modular, platform-specific Flox environments for [Ollama](https://github.com/ollama/ollama) and [oMLX](https://github.com/jundot/omlx). If either is already installed on your system, run the command below **without** the `-s`\n\nswitch, which is used to start services.\n\nYou can view the [manifest for this environment](https://hub.flox.dev/flox-labs/deepseek-tui/manifest) on FloxHub.\n\nTo run Deepseek TUI on Flox, first do:\n\nThis environment ships with handy prebuilt wrapper functions. So on macOS or Linux, running\n\n...starts DeepSeek TUI with the requested model using Ollama on Linux, oMLX on macOS. If the requested model doesn’t already exist on the local system, the wrapper transparently pulls it from the correct upstream provider (Ollama on Linux, HuggingFace on macOS) before starting the TUI. On macOS, the wrapper also (1) prompts the user for their HuggingFace token if not already set and (2) transparently restarts the oMLX model server so that it picks up the new model. This changes the workflow from...\n\n...to:\n\nIt’s an effective demonstration of the types of user-friendly affordances you can build into Flox environments.\n\nOptionally, you can skip the separate activation step and run:\n\nThis activates and runs DeepSeek TUI from FloxHub without putting the user “in” to the Flox environment.\n\nTo run the latest Qwen3.6 on Linux, just run:\n\nOn macOS run:\n\n#### 2. With Nix\n\nThe upstream Nix flake has two tests that fail in the Nix build sandbox; we've [submitted a PR](https://github.com/Hmbown/DeepSeek-TUI/pull/1844) but we’ll need to run against our fork until it merges:\n\n**Note**: The failing tests only affect ** nix run** and the Nix runtime environment: it’s possible to use the upstream flake as a dev environment to build and run the\n\n**bin with**\n\n`deepseek`\n\n**.**\n\n`cargo`\n\nA key difference with the Nix variation on this pattern is that *you’re building DeepSeek TUI from source* and then running it. The Flox environment ships it as a defined, pre-packaged dependency, so there’s no build step. The Nix pattern must fetch, build, and realize DeepSeek TUI in the Nix store. This takes several minutes on a 32-core/64-thread system, and even longer on a less beefy machine.\n\nThat being said, what if you *want* to build DeepSeek TUI from source? For example, to checkout and build our forked/fixed branch? The **Appendix** walks through doing this with both Flox and Nix.\n\n### Standardize Your AI Workflows from Local Dev to Production\n\nStandardized Flox and Nix environments declare all you need to reproducibly build and run projects like DeepSeek TUI. But this same pattern generalizes to *any* AI workflow that depends on a mix of model servers, CLI harnesses, language runtimes, native libraries, services, and platform-specific acceleration. With Flox and Nix, you can declare, govern, and share AI workloads across local laptops, CI, and production.\n\nThe operational payoff is clear:\n\n**In local dev** everyone uses the same Flox environment; if something breaks, teams can see what changed and when;**When it's time to ship code**, the same Flox environments run reproducibly across machines, platforms, and time, at every stage of the SDLC;** As teams operationalize AI environments**, platform teams can version and legibly govern standardized dev or runtime environments;** For audits, incident response, and release review**, security and compliance teams can more easily identify where specific package versions are used.\n\nThis isn’t magic, and it works a little differently between Flox, which is built on Nix, and Nix by itself. It's worth exploring how Flox and Nix differ ... and why.\n\nFor example, the upstream [DeepSeek TUI](https://github.com/Hmbown/DeepSeek-TUI) repo ships with a Nix flake. Comparing its ** flake.lock** with Flox’s\n\n**yields the following:**\n\n[manifest.lock](https://github.com/flox/deepseek-tui/blob/main/.flox/env/manifest.lock)- The Nix\npins three upstream flake inputs to specific Git revisions and content hashes. You always get the same source trees, but not necessarily the same package versions.`flake.lock`\n\n- The Flox\nfor the DeepSeek TUI runtime environment pins every individual package on every target platform (Linux or macOS; x86-64 or ARM) to a specific version, derivation, and set of Nix store paths. In other words, it records the environment’s`manifest.lock`\n\n**complete, resolved dependency graph**.\n\nIn the bare Nix model, you can pin ** nixpkgs**, individual sources, or package overrides, then evaluate the\n\n[closure](https://nix.dev/manual/nix/2.25/glossary.html?highlight=closure#gloss-closure)to inventory the resulting package set. In Flox’s model, package names, versions, target platforms, derivations, outputs, and store paths get automatically recorded. Plus with\n\n[FloxHub](https://hub.flox.dev)you get the ability to generate authoritative SBOMs for individual packages and runtime environments.\n\nFlox turns a standardizd runtime from something teams can reliably reproduce into something they can also inspect, diff, audit, govern, publish, and query across local dev, CI, and production.\n\n### Run, Share, and Govern AI Environments with Flox\n\nAs AI environments morph from one-off local experiments into shared platform assets, the operational question changes from “How do I run this?” to “How do I understand, audit, and reproduce exactly what ran?” Flox makes the dev or runtime environment **visible** and **legible**: e.g., you can diff two lockfiles and *see* that ** openssl** advanced from v3.6.0 to v3.6.1, rather than only seeing a change (e.g., a new Git commit) to a flake input.\n\nIt all starts with [FloxHub](https://hub.flox.dev). Generate authoritative, indexable SBOMs for dev and runtime environments. Reference and run them locally, in your CI pipelines, or your Kubernetes pod specs. Create and share your own managed environments, or activate prebuilt environments like [DeepSeek TUI](https://hub.flox.dev/flox-labs/deepseek-tui/manifest), [Rust dev](https://hub.flox.dev/flox-labs/rust-dev/manifest), [Ollama](https://hub.flox.dev/flox-labs/ollama/manifest), [oMLX](https://hub.flox.dev/flox-labs/omlx/manifest) the same way: remotely, reproducibly, anywhere.\n\n### Appendix: Building and Running DeepSeek TUI from Source\n\nThis pattern also has two variations. **One** uses a Flox standardized dev environment for working with Rust. Nothing special; no DeepSeek TUI-specific adaptations. You can use this pattern to work with *any* Rust project. **Two** uses the ** flake.nix** that’s included with the repo to build and run the DeepSeek TUI app. If you have Nix (or Flox, which installs Nix by default), you can build and run the flake.\n\n#### 1. Building with Flox\n\nWhether using the Flox environment or Nix flake, first clone the upstream repo to your local system:\n\nThen change into the directory and run:\n\nThis runs a remote FloxHub environment (thus the ** -r** switch) called\n\n**.**\n\n`rust-dev`\n\n**Note**: Flox ships a canonical Rust example environment: ** flox/rust**. This environment includes an essential, common-sense set of Rust dependencies; however, it lacks common cross-language and/or cross-platform dependencies. It’s a canonical example that you can take and customize as your own.\n\nThe ** flox-labs/rust-dev** environment adds platform-specific compilers, a\n\n**package, and**\n\n`python3`\n\n**for Linux. The**\n\n`dbus`\n\n**section defines all of the packages available in the activated environment:**\n\n`[install]`\n\nThe ** [hook]** exports\n\n**onto**\n\n`$FLOX_ENV/lib`\n\n**on Linux so Rust crates that call**\n\n`LD_LIBRARY_PATH`\n\n**at runtime (like**\n\n`dlopen`\n\n**and**\n\n`openssl`\n\n**) can find shared libraries. The**\n\n`dbus`\n\n**sets**\n\n`[profile]`\n\n**to**\n\n`RUST_SRC_PATH`\n\n**, where the**\n\n`$FLOX_ENV`\n\n**package installs the standard library source. This enables go-to-definition and inline docs in**\n\n`rust-lib-src`\n\n**.**\n\n`rust-analyzer`\n\nWith Flox, you build DeepSeek TUI just like you’d build any other Rust project:\n\nYou *could* combine this with the Flox activation step—** flox activate -r floxlabs/rust-dev -- cargo build --release**, or even\n\n**—to run the**\n\n`flox activate -r floxlabs/rust-dev -- cargo run –release`\n\n**CLI. Before doing this, however, you’ll want to make sure you have a local model server installed:**\n\n`deepseek`\n\n[Ollama](https://github.com/ollama/ollama)on Linux; Ollama\n\n*or*\n\n[oMLX](https://github.com/jundot/omlx)on macOS. We show a simple way to do this in\n\n**Section 3**, below.\n\n#### 2. Building with Nix\n\nThe DeepSeek TUI repo includes a Nix flake. If you’re curious about what this flake looks like, you can view it [here](https://github.com/Hmbown/DeepSeek-TUI/blob/main/flake.nix).\n\nOnce you’ve cloned the upstream repo, ** cd** into the directory and run:\n\nOnce Nix evaluates and realizes the environment, run:\n\nThis uses ** cargo** to compile the project in the Nix dev environment. The failing tests defined by the\n\n**only affect**\n\n`flake.nix`\n\n**which builds and tests inside an isolated sandbox. We could also run:**\n\n`nix run`\n\nNote, however, that running DeepSeek TUI directly from the repo...\n\n...won’t work unless or until DeepSeek TUI’s maintainers fix the broken flake tests.\n\nBut before running DeepSeek TUI from its repo, make sure you’re running a local model server, like Ollama on Linux or Ollama / oMLX on macOS. The next section gives you a simple way to do this.\n\n#### 3. Getting a local model server\n\nYou can run DeepSeek TUI against DeepSeek models in the cloud, but what’s the fun in that?\n\nLocal model serving is where it’s at, and model servers like Ollama, oMLX, and [LM Studio](https://github.com/lmstudio-ai) give us powerful options for local inferencing.\n\nWe’ve tested DeepSeek TUI against Ollama and oMLX; you can probably run it against LM Studio, too.\n\nIf you don’t already have either model-serving platform installed, just run...\n\n**or**\n\n...within the DeepSeek TUI repo. This runs a remote FloxHub environment on-demand, [layering](https://flox.dev/docs/tutorials/layering-multiple-environments/?h=layering) it on top of the repo. The Flox-managed Ollama or oMLX services are available so long as you’re in this remote environment. (Your prompt will change such that it’s prepended by ** flox [flox/ollama]** or\n\n**.) Once you quit this environment, Flox automatically shuts down the service(s) it defines.**\n\n`flox [flox/omlx]`\n\n#### 4. Running DeepSeek TUI from the repo\n\nFirst pull your model of choice. On **Ollama** do:\n\nIf you prefer **oMLX**, downloading models is slightly less straightforward. oMLX doesn’t provide its own ** ollama pull**-like command to fetch them, so you’ll need to pull them from HuggingFace, which means (a) you’ll need to use the HuggingFace CLI, which is bundled with oMLX, and (b) you’ll need a HuggingFace token. Export this token as an env var, then do the following to download your model…\n\n… and then restart the Flox ** omlx** service to pick it up:\n\nFinally, you’re ready to fire up the ** deepseek** CLI with the Qwen 3.6 model. For Ollama run:\n\nFor oMLX, run:\n\nNix users can build and run from the Nix dev shell:\n\nIf all of this seems quite a bit more involved in a dev setup, it is. But this is what software engineers do several times daily to build, test, debug, and ship the packages and runtime environments we rely on.\n\nIt all starts with [FloxHub](https://hub.flox.dev). Why not ** flox activate -r** and take\n\n[Rust](https://hub.flox.dev/flox-labs/rust-dev),\n\n[C/C++](https://hub.flox.dev/flox-labs/cxx),\n\n[Go](https://hub.flox.dev/flox/go),\n\n[Python](https://hub.flox.dev/flox-labs/python3),\n\n[Ruby](https://hub.flox.dev/flox/ruby),\n\n[Zig](https://hub.flox.dev/flox-labs/zig),\n\n[JavaScript/Typescript](https://hub.flox.dev/flox-labs/node),\n\n[Erlang](https://hub.flox.dev/flox-labs/erlang), or one of our other reproducible dev environments for a test-drive?", "url": "https://wpnews.pro/news/run-frontier-models-anywhere-with-deepseek-tui", "canonical_source": "https://flox.dev/blog/run-frontier-models-anywhere-with-deepseek-tui", "published_at": "2026-05-21 00:00:00+00:00", "updated_at": "2026-06-16 17:35:16.675505+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "large-language-models", "generative-ai"], "entities": ["DeepSeek", "DeepSeek TUI", "GitHub", "Flox", "Nix", "Ollama", "oMLX", "Qwen"], "alternates": {"html": "https://wpnews.pro/news/run-frontier-models-anywhere-with-deepseek-tui", "markdown": "https://wpnews.pro/news/run-frontier-models-anywhere-with-deepseek-tui.md", "text": "https://wpnews.pro/news/run-frontier-models-anywhere-with-deepseek-tui.txt", "jsonld": "https://wpnews.pro/news/run-frontier-models-anywhere-with-deepseek-tui.jsonld"}}