Devenv 2.3: Portless and TUI configuration

The new opt-in localhost proxy (using Pingora) gives your processes stable URLs, even when automatic port allocation changes the underlying port:

  { pkgs, config, ... }:

  {
    process.proxy.enable = true;

    processes.web = {
      exec = "${pkgs.python3}/bin/python -m http.server $PORT";
      ports.http.allocate = 8000;
      env.PORT = builtins.toString config.processes.web.ports.http.value;
    };
  }

Run devenv up and open http://web.<project-name>.localhost. You can override hostnames per process or port and enable HTTPS per process.

The TUI now has a personal configuration file for statusline placement, colors, keybindings, and log behavior. You can also hide the statusline or disable the (devenv) prompt prefix.

Other highlights:

  • multiverse.pins resolves multiple package versions through the fewest nixpkgs revisions.
  • A new dotenv parser supports quotes, multiline values, variable substitution, and ordered files.
  • SecretSpec 0.20 adds Git and Docker credential helpers and five new providers.
  • Process shutdown and cleanup are more reliable.
  • The devenv closure shrank from 528 MB to 376 MB.

nixpkgs PR

LLMs have been used

8 Likes