DISNIX-SSH-CLIENT(1)

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

πŸ’… DISNIX-SSH-CLIENT(1) ✨

okay so this is a User Commands page for disnix-ssh-client, and bestie, it's a whole vibe. buckle up πŸŽ€


🌸 NAME 🌸

disnix-ssh-client β€” it literally gives you access to the disnix-service through a SSH interface, no cap πŸ¦‹


✨ SYNOPSIS ✨

disnix-ssh-client --target hostname[:port] operation [OPTION] [paths]

πŸ’– DESCRIPTION πŸ’–

okay so listen πŸ‘‘ the command disnix-ssh-client hooks you up with remote access to a disnix-service instance that's running on a machine somewhere in the network, and it does it by using a SSH connection. so basically you can do remote deployment operations on a target machine through SSH and honestly? iconic.

because this command uses ssh to connect to the target machine, you have to provide a password for every single operation. yeah. every one. 😭 if that bothers you (and like, fair), go look at ssh-agent β€” it's the self-care this workflow deserves 🫢

in most cases you're not even using this command directly, ngl. it's used by specifying the --interface option for a Disnix command-line utility (such as disnix-env) or by setting the DISNIX_CLIENT_INTERFACE environment variable. by using one of those properties, the Disnix tools will use the given interface instead of the standard disnix-run-activity, which only provides local access. the more you know ⭐


πŸ”₯ OPTIONS πŸ”₯

πŸŽ€ Operations:

  • --import β€” imports a given closure into the Nix store of the target machine. optionally, it transfers the closure from this machine to the target machine ✨
  • --export β€” exports the closure of a given Nix store path of the target machine into a file, and optionally downloads it
  • --print-invalid β€” prints all the paths that are not valid in the Nix store of the target machine πŸ’€
  • -r, --realise β€” realises the given store derivation on the target machine
  • --set β€” creates a Disnix profile that only contains the given derivation on the target machine
  • -q, --query-installed β€” queries all the installed services on the given target machine
  • --query-requisites β€” queries all the requisites (intra-dependencies) of the given services on the target machine
  • --collect-garbage β€” collects garbage on the given target machine πŸ—‘οΈ
  • --activate β€” activates the given service on the target machine
  • --deactivate β€” deactivates the given service on the target machine
  • --lock β€” acquires a lock on a Disnix profile of the target machine
  • --unlock β€” releases the lock on a Disnix profile of the target machine
  • --snapshot β€” snapshots the logical state of a component on the given target machine
  • --restore β€” restores the logical state of a component on the given target machine
  • --delete-state β€” deletes the state of a component on the given machine
  • --query-all-snapshots β€” queries all available snapshots of a component on the given target machine
  • --query-latest-snapshot β€” queries the latest snapshot of a component on the given target machine
  • --print-missing-snapshots β€” prints the paths of all snapshots not present on the given target machine
  • --import-snapshots β€” imports the specified snapshots into the remote snapshot store
  • --export-snapshots β€” exports the specified snapshot to the local snapshot store
  • --resolve-snapshots β€” converts the relative paths to the snapshots to absolute paths
  • --clean-snapshots β€” removes older snapshots from the snapshot store
  • --capture-config β€” captures the configuration of the machine from the Dysnomia container properties in a Nix expression
  • --shell β€” spawns a Dysnomia shell to run arbitrary maintenance tasks 🧚
  • --help β€” shows the usage of this command to the user
  • --version β€” shows the version of this command to the user

πŸ¦‹ General options:

  • -t, --target=TARGET β€” specifies the hostname and optional port number of the SSH server used to connect to the target machine

🌈 Import/Export/Import snapshots/Export snapshots options:

  • --localfile β€” specifies that the given paths are stored locally and must be transferred to the remote machine if needed
  • --remotefile β€” specifies that the given paths are stored remotely and must be transferred from the remote machine if needed

πŸ’œ Set/Query installed/Lock/Unlock options:

  • -p, --profile=PROFILE β€” name of the Disnix profile. defaults to: default

πŸ“ Collect garbage options:

  • -d, --delete-old β€” indicates whether all older generations of Nix profiles must be removed as well

⭐ Activation/Deactivation/Snapshot/Restore/Delete state/Shell options:

  • --type=TYPE β€” specifies the activation module that should be used, such as echo or process.
  • --arguments=ARGUMENTS β€” specifies the arguments passed to the Dysnomia module, which is a string with key=value pairs
  • --container=CONTAINER β€” name of the container in which the component is managed. if omitted it will default to the same value as the type.

🐚 Shell options:

  • --command=COMMAND β€” commands to execute in the shell session

🌸 Query all snapshots/Query latest snapshot options:

  • -C, --container=CONTAINER β€” name of the container in which the component is managed
  • -c, --component=COMPONENT β€” name of the component hosted in a container

✨ Clean snapshots options:

  • --keep=NUM β€” amount of snapshot generations to keep. defaults to: 1
  • -C, --container=CONTAINER β€” name of the container to filter on
  • -c, --component=COMPONENT β€” name of the component to filter on

🌱 ENVIRONMENT 🌱

  • SSH_USER β€” username that should be used to connect to remote machines
  • SSH_OPTS β€” additional properties which are passed to the ssh command
  • DISNIX_REMOTE_CLIENT β€” name of the remote executable to run to execute a deployment activity (defaults to: disnix-run-activity)
  • DISNIX_PROFILE β€” sets the name of the profile that stores the manifest on the coordinator machine and the deployed services per machine on each target (Defaults to: default)
  • DYSNOMIA_STATEDIR β€” specifies where the snapshots must be stored on the coordinator machine (defaults to: /var/state/dysnomia)

Copyright Β© 2008-2022 Sander van der Burg


okay that's the whole page bestie, you ate πŸ’…βœ¨ this is disnix-ssh-client from disnix 0.10.2, dated January 1980 (yes really, the 80s called 😭), so go forth and deploy remotely, mwah πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from