Tools
Tools are external programs that JoyDX can manage and control within environments or automated workflows such as app analysis. They can either be integrated provided by JoyDX or come from Nix Flakes (Linux and MacOS only)
Tools with direct integration with JoyDX have the following characteristics
- Binary linkagePredetermined programs get made available from the shared assets folder to the binary folder of your environments for direct usage
- Environment pre-runDuring the preparation stage, tools have a hook to run action before the environment is considered ready
- Environment VariablesKey / Value injection in to the working environment
- Install JobsSourcing and setting up tool files within the shared assets folder
- Scrape ReleasesGather information about new releases using remote sources
Nixos Integration
For Nix flake packages, it is necessary to first enable the Nix feature either during onboarding or from the settings menu. When it comes to defining packages within a profile, if you are defining the profile through an editor, be sure to set a unique reference for the tool name and use the version constraint field as the flake address.
Below is an example of how a Nix package should look using JSON format
{
"name": "something-unique",
"provider": "flake",
"version_constraint": "https://hydra.nixos.org/job/nixos/release-26.05/nixpkgs.go.aarch64-darwin"
}When making use of Flakes, executables found within the flake packages /bin path will be automatically linked in to the environment where applied.