DISNIX-MANIFEST(1)

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

πŸ’… DISNIX-MANIFEST(1) β€” the disnix-manifest girlies' guide

okay so bestie, welcome to disnix-manifest, a User Commands moment, prepared like a little snack for your terminal πŸ“


✨ NAME ✨

disnix-manifest β€” generates a deployment manifest file from Disnix expressions. that's it, that's the vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

disnix-manifest -s services_nix -i infrastructure_nix -d
distribution_nix [OPTION]
disnix-manifest -P packages_nix -i infrastructure_nix [OPTION]
disnix-manifest --undeploy -i infrastructure_nix [OPTION]
disnix-manifest -A architecture_nix [OPTION]
disnix-manifest -D deployment_nix [OPTION]

five whole ways to run her, pick your fighter πŸ’…


🌸 DESCRIPTION 🌸

so the command disnix-manifest generates a manifest file from a service, infrastructure and distribution Nix expression. and like, what's that for?? it can be used for the distribution of services to machines in the network AND for the activation of services on target machines in the right order. iconic behaviour, honestly πŸ‘‘

okay so here's the thing nobody warns you about: since the manifest file contains Nix store paths of every service, a side effect of running this command is that all the services that have to be activated are automatically built from source and stored in the Nix store of the coordinator machine. not me casually triggering a whole build 😭

ngl, most users and developers don't need to use this command directly β€” the command disnix-env performs generation of a manifest automatically for you. this one is mostly used for debugging purposes or to perform certain tasks manually. lowkey a power-user-only zone, iykyk 🧚


πŸ”₯ OPTIONS πŸ”₯

  • -s, --services=services_nix β€” the Services Nix expression, which describes all components of the distributed system. the whole cast, main character energy.
  • -i, --infrastructure=infrastructure_nix β€” the Infrastructure Nix expression, which captures properties of machines in the network. who's out here and where πŸ’œ
  • -d, --distribution=distribution_nix β€” the Distribution Nix expression, which maps services to machines in the network. matchmaker matchmaker πŸ’–
  • -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. the whole lore in one file fr fr.
  • -D, --deployment=deployment_nix β€” the Deployment Nix expression that describes all the mappings that have a one-on-one relationship with the deployment activities that are carried out. one-to-one, no situationships 🫢
  • --undeploy β€” generates a manifest file that conveniently undeploys all services. bye bestie, slay your exit ✨
  • --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 πŸ’»
  • --deploy-state β€” indicates whether to globally deploy state (disabled by default). she's off unless you say otherwise πŸ™ˆ
  • --extra-params=PARAMS β€” a string with an attribute set in the Nix expression language propagating extra parameters to the input models. little extra sprinkle 🌈
  • --no-out-link β€” do not create a result symlink. no leftovers, we love a clean girlie πŸŽ€
  • --show-trace β€” shows a trace of the output. receipts!! 🧾
  • -h, --help β€” shows the usage of this command to the user 🫢
  • -v, --version β€” shows the version of this command to the user ⭐

🌈 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)
  • DISNIX_DEPLOY_STATE β€” if set to 1 it also deploys the state of all components. (defaults to: 0)
πŸ’€ reminder that 0 is the default for DISNIX_DEPLOY_STATE β€” so if you wanted state deployed and you didn't set it to 1, that's on you bestie, no cap.

Copyright Β© 2008-2022 Sander van der Burg


okay that's the whole page!! πŸ¦‹ full credit and a little curtsy to disnix-manifest (disnix 0.10.2), dated January 1980 β€” yes the 1980 is real and yes it's giving time traveler πŸ’« mwah, go generate some manifests bestie πŸ’–

πŸ“¦ where this page comes from