DISNIXOS-DELEGATE(1)

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

πŸ’… DISNIXOS-DELEGATE πŸ’…

okay so you're reading the disnixos-delegate page from the disnixos manual β€” welcome bestie, grab a snack, this one's actually kinda fun πŸ“


✨ NAME ✨

disnixos-delegate β€” delegates service and infrastructure builds to the target machines 🎯 like it literally hands off the building work to the machines themselves, no cap


πŸ¦‹ SYNOPSIS πŸ¦‹

disnixos-delegate -s services_nix -n network_nix [ -n network2_nix ... ]
-d distribution_nix [OPTION]
disnixos-delegate -P packages_nix -n network_nix [ -n network2_nix ... ]
[OPTION]

two whole modes, pick your fighter πŸ’–


🌸 DESCRIPTION 🌸

so the command disnixos-delegate is the one that instantiates all the derivations of the services on the deployed machines in the network, and then delegates their build operations over to the target machines. it's giving "you don't do it yourself, the machines do" energy πŸ‘‘

this command needs three Nix expressions as input parameters β€” and yes, all three, it's not flexible about this:

  • a services model capturing the components of a distributed system and its inter-dependencies 🧩
  • an infrastructure model capturing the machines in the network and its properties πŸ–₯️
  • a distribution model which maps services to machines πŸ”€
ngl most users do not need to use this command directly. the disnix-env command will automatically invoke this command to activate the new configuration. so like… it's a backstage main character, you'll meet it through disnix-env πŸ’«

πŸŽ€ OPTIONS πŸŽ€

  • -s, --services=services_nix β€” the services Nix expression, which describes all the components of the distributed system 🧚
  • -n, --network=network_nix β€” the network Nix expression, which declares a NixOS configuration for each machine 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 πŸ“¦
  • --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 πŸ›°οΈ
  • -m, --max-concurrent-transfers=NUM β€” maximum amount of concurrent closure transfers. Defauls to: 2 (yes it says "Defauls" in the original, we keep the typo, it's iconic now) 😭
  • --extra-params=PARAMS β€” a string with an attribute set in the Nix expression language propagating extra parameters to the input models 🎁
  • --vm β€” configures a manifest used for the NixOS test driver πŸ§ͺ
  • --use-nixops β€” use NixOps instead of Disnix's deployment facilities πŸ”„
  • --disable-disnix β€” do not enable the Disnix service on the target machines by default πŸ™…
  • --show-trace β€” shows a trace of the output πŸ”
  • -h, --help β€” shows the usage of this command 🫢
  • -v, --version β€” shows the version of this command ⭐

🌈 ENVIRONMENT 🌈

  • 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


okay that's the whole page, you ate that πŸ’…βœ¨ and for the sign-off: this lil beauty comes from disnixos (version 0.... β€” yes, genuinely, that's what it says, we don't question it πŸ™ˆ) and it's dated January 1980 which is lowkey camp of it. go delegate something, bestie πŸ¦‹πŸ’–

πŸ“¦ where this page comes from