DISNIX-INSTANTIATE(1)

πŸ“¦ version 0.10.2, in nixos 26.05, nixpkgs unstable

πŸ’… disnix-instantiate β€” like, the manual page, but make it make sense ✨

Hey bestie 🫢 so this is DISNIX-INSTANTIATE(1), aka the User Commands page for disnix-instantiate, and I'm gonna walk you through it like we're on FaceTime at 1am. No cap, it's actually not that deep once you get the vibe. πŸ’–


🌸 NAME 🌸

disnix-instantiate β€” it instantiates a distributed derivation from Disnix expressions. That's it, that's the whole name. Iconic of it, honestly. πŸ’…


✨ SYNOPSIS ✨

Okay so here's how you're allowed to call it β€” all three forms are valid, pick your fighter:

disnix-instantiate -s services_nix -i infrastructure_nix -d
distribution_nix [OPTION]
disnix-instantiate -P packages_nix -i infrastructure_nix [OPTION]
disnix-instantiate -A architecture_nix [OPTION]

Notice how each one is followed by [OPTION]? Yeah, that means the extra flags are optional, you're not being held at gunpoint. 😭


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so the whole point of the command: disnix-instantiate generates a distributed derivation file from a service, infrastructure and distribution Nix expression πŸŽ€. Then that file can be handed to the disnix-build command, which builds the services on the target machines straight from source code. Like, from scratch. From source. Very main character energy. πŸ”₯

Real talk though: most users and developers don't need to use this command directly β€” the command disnix-env already performs instantiation of a distributed derivation automatically for you. πŸ™ˆ So why does this exist? Mostly for debugging purposes, or for when you wanna do certain tasks manually and feel a little bit powerful about it. πŸ‘‘

πŸŽ€ OPTIONS πŸŽ€

This is the big one, bestie β€” every single flag, all of them, no skipping, periodt:

  • -s, --services=services_nix β€” the Services Nix expression, which describes all components of the distributed system πŸ’–
  • -i, --infrastructure=infrastructure_nix β€” the Infrastructure Nix expression, which captures properties of machines in the network 🌈
  • -d, --distribution=distribution_nix β€” the Distribution Nix expression, which maps services to machines in the network πŸ—ΊοΈ
  • -P, --packages=packages_nix β€” the Packages Nix expression, specifying the packages that should be deployed in a Nix profile mapped to each machine in the network πŸ“
  • -A, --architecture=architecture_nix β€” the Deployment architecture Nix expression that captures all properties of the services and infrastructure, including the distribution of services to targets πŸ—οΈ
  • -B, --build=build_nix β€” the Build Nix expression that maps store derivations to target machines in the network πŸ”§
  • --extra-params=PARAMS β€” a string with an attribute set in the Nix expression language, propagating extra parameters to input models ✨
  • --target-property=PROP β€” the target property of an infrastructure model, that specifies how to connect to the remote Disnix interface. (Defaults to: hostname) πŸ–₯️
  • --interface=INTERFACE β€” path to executable that communicates with a Disnix interface. Defaults to: disnix-ssh-client πŸ”Œ
  • --no-out-link β€” do not create a result symlink 🚫
  • --show-trace β€” shows a trace of the output πŸ”
  • -h, --help β€” shows the usage of this command to the user 🫢
  • -v, --version β€” shows the version of this command to the user πŸ’œ

🌼 ENVIRONMENT 🌼

Because of course there are env vars, there are always env vars:

  • DISNIX_CLIENT_INTERFACE β€” sets the client interface (defaults to: disnix-ssh-client) πŸ’«
  • DISNIX_TARGET_PROPERTY β€” sets the target property of an infrastructure model, that specifies how to connect to the remote Disnix interface. (Defaults to: hostname) 🌸

Copyright Β© 2008-2022 Sander van der Burg πŸ’–


And that's the tea, bestie β˜• β€” that was DISNIX-INSTANTIATE(1) from disnix 0.1..., dated January 1980 (yes really, the date is a whole vibe, we don't ask questions πŸ™ˆ). Go forth and instantiate responsibly. πŸ§šπŸ’œ

πŸ“¦ where this page comes from