# Table of Contents - [Introduction - flake-parts](#introduction-flake-parts) - [Cheat Sheet - flake-parts](#cheat-sheet-flake-parts) - [Best Practices for Module Writing - flake-parts](#best-practices-for-module-writing-flake-parts) - [Getting Started - flake-parts](#getting-started-flake-parts) - [Multi-platform: Working with system - flake-parts](#multi-platform-working-with-system-flake-parts) - [Explore and debug option values - flake-parts](#explore-and-debug-option-values-flake-parts) - [Define a Module in a Separate File - flake-parts](#define-a-module-in-a-separate-file-flake-parts) - [Define Custom Flake Attribute - flake-parts](#define-custom-flake-attribute-flake-parts) - [flake-parts (built in) - flake-parts](#flake-parts-built-in-flake-parts) - [Dogfood a Reusable Flake Module - flake-parts](#dogfood-a-reusable-flake-module-flake-parts) - [Overlays - flake-parts](#overlays-flake-parts) - [Generate Documentation - flake-parts](#generate-documentation-flake-parts) - [Module Arguments - flake-parts](#module-arguments-flake-parts) - [flakeModules - flake-parts](#flakemodules-flake-parts) - [easyOverlay (warning) - flake-parts](#easyoverlay-warning-flake-parts) - [modules - flake-parts](#modules-flake-parts) - [agenix-shell - flake-parts](#agenix-shell-flake-parts) - [partitions - flake-parts](#partitions-flake-parts) - [agenix-rekey - flake-parts](#agenix-rekey-flake-parts) - [actions.nix - flake-parts](#actions-nix-flake-parts) - [disko - flake-parts](#disko-flake-parts) - [devshell - flake-parts](#devshell-flake-parts) - [devenv - flake-parts](#devenv-flake-parts) - [make-shell - flake-parts](#make-shell-flake-parts) - [Multi-platform: Working with system - flake-parts](#multi-platform-working-with-system-flake-parts) - [Getting Started - flake-parts](#getting-started-flake-parts) - [ocaml-flake - flake-parts](#ocaml-flake-flake-parts) - [gitlab-ci - flake-parts](#gitlab-ci-flake-parts) - [home-manager - flake-parts](#home-manager-flake-parts) - [mkdocs-flake - flake-parts](#mkdocs-flake-flake-parts) - [mission-control - flake-parts](#mission-control-flake-parts) - [nix-bindings-rust - flake-parts](#nix-bindings-rust-flake-parts) - [nix-topology - flake-parts](#nix-topology-flake-parts) - [nix-unit - flake-parts](#nix-unit-flake-parts) - [nixos-healthchecks - flake-parts](#nixos-healthchecks-flake-parts) - [pkgs-by-name-for-flake-parts - flake-parts](#pkgs-by-name-for-flake-parts-flake-parts) - [pydev - flake-parts](#pydev-flake-parts) - [proc-flake - flake-parts](#proc-flake-flake-parts) - [rust-flake - flake-parts](#rust-flake-flake-parts) - [terranix - flake-parts](#terranix-flake-parts) - [nixops4 - flake-parts](#nixops4-flake-parts) - [ez-configs - flake-parts](#ez-configs-flake-parts) - [haskell-flake - flake-parts](#haskell-flake-flake-parts) - [nix-cargo-integration - flake-parts](#nix-cargo-integration-flake-parts) - [flake.parts-website - flake-parts](#flake-parts-website-flake-parts) - [hercules-ci-effects - flake-parts](#hercules-ci-effects-flake-parts) - [process-compose-flake - flake-parts](#process-compose-flake-flake-parts) - [std - flake-parts](#std-flake-parts) - [input-branches - flake-parts](#input-branches-flake-parts) - [Best Practices for Module Writing - flake-parts](#best-practices-for-module-writing-flake-parts) - [Cheat Sheet - flake-parts](#cheat-sheet-flake-parts) - [ocaml-flake - flake-parts](#ocaml-flake-flake-parts) - [mission-control - flake-parts](#mission-control-flake-parts) - [easy-hosts - flake-parts](#easy-hosts-flake-parts) - [dream2nix legacy - flake-parts](#dream2nix-legacy-flake-parts) - [ez-configs - flake-parts](#ez-configs-flake-parts) - [mkdocs-flake - flake-parts](#mkdocs-flake-flake-parts) - [make-shell - flake-parts](#make-shell-flake-parts) - [nix-topology - flake-parts](#nix-topology-flake-parts) - [nixos-healthchecks - flake-parts](#nixos-healthchecks-flake-parts) - [nix-cargo-integration - flake-parts](#nix-cargo-integration-flake-parts) - [nixops4 - flake-parts](#nixops4-flake-parts) - [pkgs-by-name-for-flake-parts - flake-parts](#pkgs-by-name-for-flake-parts-flake-parts) - [pydev - flake-parts](#pydev-flake-parts) - [rust-flake - flake-parts](#rust-flake-flake-parts) - [std - flake-parts](#std-flake-parts) - [nix-unit - flake-parts](#nix-unit-flake-parts) - [emanote - flake-parts](#emanote-flake-parts) - [gitlab-ci - flake-parts](#gitlab-ci-flake-parts) - [nix-bindings-rust - flake-parts](#nix-bindings-rust-flake-parts) - [files - flake-parts](#files-flake-parts) - [proc-flake - flake-parts](#proc-flake-flake-parts) - [process-compose-flake - flake-parts](#process-compose-flake-flake-parts) - [haskell-flake - flake-parts](#haskell-flake-flake-parts) - [input-branches - flake-parts](#input-branches-flake-parts) - [treefmt-nix - flake-parts](#treefmt-nix-flake-parts) --- # Introduction - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/README.md "Suggest an edit") _Core of a distributed framework for writing Nix Flakes._ `flake-parts` provides the options that represent standard flake attributes and establishes a way of working with `system`. Opinionated features are provided by an ecosystem of modules that you can import. `flake-parts` _itself_ has the goal to be a minimal mirror of the Nix flake schema. Used by itself, it is very lightweight. > It is definitely the best Flake framework and it is simply out of this world! —Pol Dellaiera ([source](https://not-a-number.io/2025/refactoring-my-infrastructure-as-code-configurations/#trade-offs) ) * * * **Documentation**: [flake.parts](https://flake.parts/) * * * Flakes are configuration. The module system lets you refactor configuration into modules that can be shared. It reduces the proliferation of custom Nix glue code, similar to what the module system has done for NixOS configurations. Unlike NixOS, but following Flakes' spirit, `flake-parts` is not a monorepo with the implied goal of absorbing all of open source, but rather a single module that other repositories can build upon, while ensuring a baseline level of compatibility: the core attributes that constitute a flake. * Split your `flake.nix` into focused units, each in their own file. * Take care of [system](https://flake.parts/system) . * Allow users of your library flake to easily integrate your generated flake outputs into their flake. * Reuse project logic written by others You can find guides and the options reference in the menu (top left). A site wide search is available by typing `s`. --- # Cheat Sheet - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/cheat-sheet.md "Suggest an edit") Flake-parts offers a couple of ways to access the same thing. This gives you freedom to pick the most convenient syntax for a use case. This page is for you to get a feel for what's what. Getting the locally defined `hello` package on/for an `x86_64-linux` host: `nix build .#hello` `config.packages.hello` `self'.packages.hello` The [`self'`](https://flake.parts/module-arguments#self) parameter is derived from the flake `self`, which may benefit from evaluation caching in the future. The `config` parameter is conceptually simpler and lets you access all options inside `perSystem`, including unexposed ones if you're into defining such options. > **Note** > > Anything you can do at the top level, you can do in `perSystem` as well, although you may have to `@` match those module arguments. > > For example, change the top level function header to e.g. `toplevel@{ config, ... }: /*...*/` so you can access `toplevel.config` despite plain `config` being shadowed by `perSystem = { config, ... }: /*...*/`. Examples: `(getSystem "x86_64-linux").packages.hello` `withSystem "x86_64-linux" ({ config, ... }: config.packages.hello )` `self.x86_64-linux.packages.hello` `allSystems.x86_64-linux.packages.hello` `allSystems` may not be future proof if Nix starts to allow building for all systems. An opened up system is incompatible with enumerated systems as required by an attribute set. --- # Best Practices for Module Writing - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/best-practices-for-module-writing.md "Suggest an edit") Like in NixOS, writing a configuration is quite different from writing a reusable module. In a configuration, you may take shortcuts which have little impact, but shortcuts in a reusable module lead to surprises for your module's users. The inputs are controlled by the user, so your module should make no assumption about which inputs are present. This way, the user is free to, for example, bundle up their inputs into a distribution, such as a company platform module. By scanning through all the `inputs`, you cause two kinds of problems * You trigger the fetching of all direct dependencies, even though some may not need to be fetched. * You are making an assumption about the role in which an input is used. By recursing into inputs, you make the problem literally **exponentially** worse: * Your module logic becomes susceptible to changes deep inside your dependencies' dependencies. Whereas you might have gotten away with an assumption about the role of direct dependencies, making the same assumptions about dependencies and dependencies' dependencies is unlikely to work out well. * You trigger the fetching of potentially all transitive dependencies. Instead of a performance inconvenience, we now have a ecosystem-wide scaling problem. Also note that even if you don't explicitly recurse into the transitive inputs, this behavior still arises if your inputs don't adhere to the rule. Furthermore it has been observed that lock files can grow indefinitely when mutually dependent flakes don't use `follows` to remove the older version of themselves from the inputs graph. When integrating an existing library, it might be easy to add its options in the top level namespace only, as it might already expose a whole-flake interface. However, as most build and test work is done in `perSystem`, users expect to be able to use it in that context. See also [perSystem first (custom flake attribute)](https://flake.parts/define-custom-flake-attribute#persystem-first) . Most modules are about some piece of software that it integrates. Ideally the flake module is bundled into the same flake. This simplifies the wiring that users have to do, especially when they want to use a patched version. It's also a bit more efficient as far as fetching is concerned. Most modules will put all their options inside a "namespace" named after their module instead. This way, option path collisions are unlikely to occur. For example: `perSystem.treefmt.programs`, not `perSystem.programs`. --- # Getting Started - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/getting-started.md "Suggest an edit") If your project does not have a flake yet: `nix flake init -t github:hercules-ci/flake-parts` Otherwise, add the input, `flake-parts.url = "github:hercules-ci/flake-parts";` then slide `mkFlake` between your outputs function head and body, ``outputs = inputs@{ flake-parts, ... }: # https://flake.parts/module-arguments.html flake-parts.lib.mkFlake { inherit inputs; } (top@{ config, withSystem, moduleWithSystem, ... }: { imports = [ # Optional: use external flake logic, e.g. # inputs.foo.flakeModules.default ]; flake = { # Put your original flake attributes here. }; systems = [ # systems for which you want to build the `perSystem` attributes "x86_64-linux" # ... ]; perSystem = { config, pkgs, ... }: { # Recommended: move all package definitions here. # e.g. (assuming you have a nixpkgs input) # packages.foo = pkgs.callPackage ./foo/package.nix { }; # packages.bar = pkgs.callPackage ./bar/package.nix { # foo = config.packages.foo; # }; }; });`` Now you can start using the flake-parts options. --- # Multi-platform: Working with system - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/system.md "Suggest an edit") In Nix, "system" generally refers to the cpu-os string, such as `"x86_64-linux"`. In Flakes specifically, these strings are used as attribute names, so that the Nix CLI can find a derivation for the right platform. Many things, such as packages, can exist on multiple systems. For these, use the [`perSystem`](https://flake.parts/options/flake-parts#opt-perSystem) submodule. Other things do not exist on multiple systems. Examples are the configuration of a specific machine, or the execution of a deployment. These are not written in `perSystem`, but in other top-level options, or directly into the flake outputs' top level (e.g. [`flake.nixosConfigurations`](https://flake.parts/options/flake-parts#opt-flake.nixosConfigurations) ). Such top-level entities typically do need to read packages, etc that are defined in `perSystem`. Instead of reading them from `config.flake.packages..`, it may be more convenient to bring all `perSystem` definitions for a system into scope, using [`withSystem`](https://flake.parts/module-arguments#withsystem) . --- # Explore and debug option values - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/debug.md "Suggest an edit") Sometimes the public interface of a flake is not enough. To inspect all option values, you can enable [`debug`](https://flake.parts/options/flake-parts#opt-debug) and explore otherwise private values with the repl. 1. Add `debug = true;` Example: `{ debug = true; systems = /* ... */; perSystem = /* ... */; }` 2. Load the flake `$ nix repl nix-repl> :lf .` `nix-repl> currentSystem.allModuleArgs.pkgs.stdenv.hostPlatform.system "x86_64-linux"` `nix-repl> debug.allSystems.armv7l-linux.allModuleArgs.pkgs.stdenv.hostPlatform.system "armv7l-linux"` `nix-repl> debug.systems [ "x86_64-linux" "aarch64-darwin" ]` `nix-repl> currentSystem.options.pre-commit.settings.files [ "/nix/store/pqp5kwdihyyymfnqq9sk9jsm9xw2lw6s-source/dev-module.nix, via option perSystem" "/nix/store/4wl7k0dp7cjyc4nxy5cm9wdb8jshlg0j-source/flake-module.nix" ]` `nix-repl> debug.options.system.files [ "/nix/store/3na6c6mmyw2yf5chzwwwrp54b8yf96ry-source/flake.nix" ]` `nix-repl> debug.options.systems.declarations [ "/nix/store/3na6c6mmyw2yf5chzwwwrp54b8yf96ry-source/modules/perSystem.nix" ]` * The [`debug` option](https://flake.parts/options/flake-parts#opt-debug) reference. --- # Define a Module in a Separate File - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/define-module-in-separate-file.md "Suggest an edit") To avoid writing huge files, you'll want to separate some logic into modules. When you do so, you'll notice that you've cut access to the lexical scope. You can't access any of the variables in `flake.nix` anymore. This problem has two possible solutions. In short, write an inline module in `flake.nix` (or in a flake module), that `imports` the separate module file and also forms a bridge between the `flake.nix` scope and the option values. This way the majority of the module can be in a separate file. In the separate file, replace all variables that would come from the lexical scope by new options and reference those through `config`. In `flake.nix` fill in the missing defaults. Example: `nixos-module.nix` ``{ lib, config, ... }: { options = { services.foo = { package = mkOption { defaultText = lib.literalMD "`packages.default` from the foo flake"; }; }; }; config = ...; }`` Flake module: `{ withSystem, ... }: { flake.nixosModules.default = { pkgs, ... }: { imports = [ ./nixos-module.nix ]; services.foo.package = withSystem pkgs.stdenv.hostPlatform.system ({ config, ... }: config.packages.default ); }; }` For your module users' overriding needs, it's best to make the options as specific as possible; e.g. not a `foo.flake` option, but `foo.package`. You'll find that most modules only need one or two such options. The `importApply` function can pass extra variables to a module to import. Instead of loading a file containing a module, it loads a file containing _a function to_ a module, and applies it. `nixos-module.nix` ``{ localFlake, withSystem }: { lib, config, pkgs, ... }: { options = { services.foo = { package = mkOption { default = withSystem pkgs.stdenv.hostPlatform.system ( { config, ... }: config.packages.default ); defaultText = lib.literalMD "`packages.default` from the foo flake"; }; }; }; config = ... use localFlake ...; }`` Flake module: `{ flake-parts-lib, self, withSystem, ... }: let inherit (flake-parts-lib) importApply; in { flake.nixosModules.default = importApply ./nixos-module.nix { localFlake = self; inherit withSystem; }; }` * [Dogfooding a Reusable Flake Module](https://flake.parts/dogfood-a-reusable-module) , which helps avoid an infinite recursion. --- # Define Custom Flake Attribute - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/define-custom-flake-attribute.md "Suggest an edit") With flakes, most of the time, you can use the attribute names suggested by the Nix CLI, NixOS, etc, which already have options in flake-parts, or existing modules you can import. However, if you're doing something that doesn't fit those labels, you may consider adding a custom attribute to the flake outputs. Your custom attribute may not be easy to use with the existing tools, but that may be expected, if you're writing a new tool or something else that's novel. If your custom output attribute is a one-off because you need to do something special in a single project, all you have to do is define a value in the [`flake` option](https://flake.parts/options/flake-parts#opt-flake) . However, if you want it to be reusable and integrate well, you should declare an option for it, and you could perhaps provide a bit of support logic if that makes sense to do. Integrating with `perSystem` is highly recommended, because that's where users expect things like packages to be defined. You can bring things that are defined in `perSystem` to the flake outputs in the same way [`packages.nix`](https://github.com/hercules-ci/flake-parts/blob/main/modules/packages.nix) does it. If your application doesn't follow the same pattern, but you want users to define things in [`perSystem`](https://flake.parts/options/flake-parts#opt-perSystem) , you may read the top level `config.allSystems` (internal) option. You can read it in the definition for a new option in the [`flake`](https://flake.parts/options/flake-parts#opt-flake) submodule so that its value is added to the flake outputs. [flake](https://flake.parts/options/flake-parts#opt-flake) is an RFC42-style module, which means that it both has options and it allows arbitrary attributes to be defined in the config, without having to declare an option first. Declaring an option is recommended though, for the purposes of documentation, type checking, and allowing multiple config definitions to be merged into a single output value, if applicable. This is an advanced use case. Feel free to ask questions in [#hercules-ci:matrix.org](https://matrix.to/#/#hercules-ci:matrix.org) . --- # flake-parts (built in) - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake-parts.md "Suggest an edit") These options are provided by default. They reflect what Nix expects, plus a small number of helpful options, notably [`perSystem`](https://flake.parts/options/flake-parts.html#opt-perSystem) . Whether to add the attributes `debug`, `allSystems` and `currentSystem` to the flake output. When `true`, this allows inspection of options via `nix repl`. `$ nix repl nix-repl> :lf . nix-repl> currentSystem._module.args.pkgs.hello «derivation /nix/store/7vf0d0j7majv1ch1xymdylyql80cn5fp-hello-2.12.1.drv»` Each of `debug`, `allSystems.` and `currentSystem` is an attribute set consisting of the `config` attributes, plus the extra attributes `_module`, `config`, `options`, `extendModules`. So note that these are not part of the `config` parameter, but are merged in for debugging convenience. * `debug`: The top-level options * `allSystems`: The `perSystem` submodule applied to the configured `systems`. * `currentSystem`: Shortcut into `allSystems`. Only available in impure mode. Works for arbitrary system values. See [Expore and debug option values](https://flake.parts/debug) for more examples. _Type:_ boolean _Default:_ `false` _Declared by:_ * [flake-parts/modules/debug.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/debug.nix) Raw flake output attributes. Any attribute can be set here, but some attributes are represented by options, to provide appropriate configuration merging. _Type:_ open submodule of lazy attribute set of raw value _Declared by:_ * [flake-parts/extras/modules.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/modules.nix) * [flake-parts/extras/flakeModules.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) * [flake-parts/modules/packages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/packages.nix) * [flake-parts/modules/overlays.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/overlays.nix) * [flake-parts/modules/nixosModules.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosModules.nix) * [flake-parts/modules/nixosConfigurations.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosConfigurations.nix) * [flake-parts/modules/legacyPackages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/legacyPackages.nix) * [flake-parts/modules/formatter.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/formatter.nix) * [flake-parts/modules/flake.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/flake.nix) * [flake-parts/modules/devShells.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/devShells.nix) * [flake-parts/modules/checks.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/checks.nix) * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) See `perSystem.packages` for description and examples. _Type:_ lazy attribute set of lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/packages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/packages.nix) See `perSystem.apps` for description and examples. _Type:_ lazy attribute set of lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) See `perSystem.checks` for description and examples. _Type:_ lazy attribute set of lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/checks.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/checks.nix) See `perSystem.devShells` for description and examples. _Type:_ lazy attribute set of lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/devShells.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/devShells.nix) Alias of `flakeModules.default`. _Type:_ submodule _Declared by:_ * [flake-parts/extras/flakeModules.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) flake-parts modules for use by other flakes. If the flake defines only one module, it should be `flakeModules.default`. You can not read this option in defining the flake’s own `imports`. Instead, you can put the module in question into its own file or let binding and reference it both in `imports` and export it with this option. See [Dogfood a Reusable Module](https://flake.parts/dogfood-a-reusable-module) for details and an example. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [flake-parts/extras/flakeModules.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) An attribute set of per system a package used by [`nix fmt`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-fmt.html) . _Type:_ lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/formatter.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/formatter.nix) See `perSystem.legacyPackages` for description and examples. _Type:_ lazy attribute set of lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/legacyPackages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/legacyPackages.nix) Groups of modules published by the flake. The outer attributes declare the [`class`](https://nixos.org/manual/nixpkgs/stable/#module-system-lib-evalModules-param-class) of the modules within it. The special attribute `generic` does not declare a class, allowing its modules to be used in any module class. _Type:_ lazy attribute set of lazy attribute set of module _Example:_ ``{ # NixOS configurations are modules with class "nixos" nixos = { # You can define a module right here: noBoot = { config, ... }: { boot.loader.enable = false; }; # Or you may refer to it by file autoDeploy = ./nixos/auto-deploy.nix; # Or maybe you need both projectIcarus = { config, pkgs, ... }: { imports = [ ./nixos/project-icarus.nix ]; services.project-icarus.package = withSystem pkgs.stdenv.hostPlatform.system ({ config, ... }: config.packages.default ); }; }; # Flake-parts modules # If you're not just publishing a module, but also using it locally, # create a let binding to declare it before calling `mkFlake` so you can # use it in both places. flake = { foo = someModule; }; # Modules that can be loaded anywhere generic = { my-pkgs = { _module.args.my-pkgs = …; }; }; }`` _Declared by:_ * [flake-parts/extras/modules.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/modules.nix) Instantiated NixOS configurations. Used by `nixos-rebuild`. `nixosConfigurations` is for specific machines. If you want to expose reusable configurations, add them to [`nixosModules`](https://flake.parts/options/flake-parts.html#opt-flake.nixosModules) in the form of modules (no `lib.nixosSystem`), so that you can reference them in this or another flake’s `nixosConfigurations`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ my-machine = inputs.nixpkgs.lib.nixosSystem { # system is not needed with freshly generated hardware-configuration.nix # system = "x86_64-linux"; # or set nixpkgs.hostPlatform in a module. modules = [ ./my-machine/nixos-configuration.nix config.nixosModules.my-module ]; }; }` _Declared by:_ * [flake-parts/modules/nixosConfigurations.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosConfigurations.nix) NixOS modules. You may use this for reusable pieces of configuration, service modules, etc. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/nixosModules.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosModules.nix) An attribute set of [overlays](https://nixos.org/manual/nixpkgs/stable/#chap-overlays) . Note that the overlays themselves are not mergeable. While overlays can be composed, the order of composition is significant, but the module system does not guarantee sufficiently deterministic definition ordering, across versions and when changing `imports`. _Type:_ lazy attribute set of function that evaluates to a(n) function that evaluates to a(n) lazy attribute set of unspecified value _Default:_ `{ }` _Example:_ `{ default = final: prev: {}; }` _Declared by:_ * [flake-parts/modules/overlays.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/overlays.nix) A set of flake output attributes that are taken from a partition instead of the default top level flake-parts evaluation. The attribute name refers to the flake output attribute name, and the value is the name of the partition to use. The flake attributes are overridden with `lib.mkForce` priority. See the `partitions` options to understand the purpose. Example: `partitionedAttrs.devShells = "dev";` Equivalent: `flake.devShells = lib.mkForce config.partitions.dev.module.flake.devShells;` _Type:_ attribute set of string _Default:_ `{ }` _Example:_ `{ checks = "dev"; devShells = "dev"; herculesCI = "dev"; }` _Declared by:_ * [flake-parts/extras/partitions.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) By partitioning the flake, you can avoid fetching inputs that are not needed for the evaluation of a particular attribute. Each partition is a distinct module system evaluation. This allows attributes of the final flake to be defined by multiple sets of modules, so that for example the `packages` attribute can be evaluated without loading development related inputs. While the module system does a good job at preserving laziness, the fact that a development related import can define `packages` means that in order to evaluate `packages`, you need to evaluate at least to the point where you can conclude that the development related import does not actually define a `packages` attribute. While the actual evaluation is cheap, it can only happen after fetching the input, which is not as cheap. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ dev = { extraInputsFlake = ./dev; module = ./dev/flake-module.nix; }; }` _Declared by:_ * [flake-parts/extras/partitions.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) Extra inputs to add to the inputs module argument in the partition. This can be used as a workaround for the fact that transitive inputs are locked in the “end user” flake. That’s not desirable for inputs they don’t need, such as development inputs. _Type:_ lazy attribute set of raw value _Default:_ if `extraInputsFlake` is set, then `builtins.getFlake extraInputsFlake`, else `{ }` _Declared by:_ * [flake-parts/extras/partitions.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) Location of a flake whose inputs to add to the inputs module argument in the partition. Note that flake `follows` are resolved without any awareness of inputs that are not in the flake. As a consequence, a `follows` entry in the flake inputs can not refer to inputs that are not in that specific flake. Implementation note: if the type of `extraInputsFlake` is a path, it is loaded with an expression-based reimplementation of `builtins.getFlake`, as `getFlake` is incapable of loading paths in pure mode as of writing. _Type:_ raw value _Example:_ `./dev` _Declared by:_ * [flake-parts/extras/partitions.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) A re-evaluation of the flake-parts top level modules. You may define config definitions, `imports`, etc here, and it can be read like any other submodule. _Type:_ submodule _Default:_ `{ }` _Example:_ `{ imports = [ ./dev/flake-module.nix ]; }` _Declared by:_ * [flake-parts/extras/partitions.nix](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) A function that pre-processes flake inputs. It is called for users of `perSystem` such that `inputs'.${name} = config.perInput system inputs.${name}`. This is used for [`inputs'`](https://flake.parts/module-arguments#inputs) and [`self'`](https://flake.parts/module-arguments#self) . The attributes returned by the `perInput` function definitions are merged into a single namespace (per input), so each module should return an attribute set with usually only one or two predictable attribute names. Otherwise, the `inputs'` namespace gets polluted. _Type:_ function that evaluates to a(n) function that evaluates to a(n) lazy attribute set of unspecified value _Declared by:_ * [flake-parts/modules/perSystem.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/perSystem.nix) A function from system to flake-like attributes omitting the `` attribute. Modules defined here have access to the suboptions and [some convenient module arguments](https://flake.parts/module-arguments) . _Type:_ module _Declared by:_ * [flake-parts/modules/withSystem.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/withSystem.nix) * [flake-parts/modules/perSystem.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/perSystem.nix) * [flake-parts/modules/packages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/packages.nix) * [flake-parts/modules/legacyPackages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/legacyPackages.nix) * [flake-parts/modules/formatter.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/formatter.nix) * [flake-parts/modules/devShells.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/devShells.nix) * [flake-parts/modules/debug.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/debug.nix) * [flake-parts/modules/checks.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/checks.nix) * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) An attribute set of packages to be built by [`nix build`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-build.html) . `nix build .#` will build `packages.`. _Type:_ lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/packages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/packages.nix) Programs runnable with nix run ``. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ default.program = "${config.packages.hello}/bin/hello"; }` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [flake-parts/modules/apps.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/apps.nix) Derivations to be built by [`nix flake check`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-check.html) . _Type:_ lazy attribute set of package _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/checks.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/checks.nix) Values to return in e.g. `allSystems.` when [`debug = true`](https://flake.parts/options/flake-parts.html#opt-debug) . _Type:_ lazy attribute set of raw value _Declared by:_ * [flake-parts/modules/formatter.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/formatter.nix) An attribute set of packages to be used as shells. [`nix develop .#`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-develop.html) will run `devShells.`. _Type:_ lazy attribute set of package _Default:_ `{ }` _Example:_ `{ default = pkgs.mkShell { nativeBuildInputs = with pkgs; [ wget bat cargo ]; }; }` _Declared by:_ * [flake-parts/modules/devShells.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/devShells.nix) A package used by [`nix fmt`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-fmt.html) . _Type:_ null or package _Default:_ `null` _Declared by:_ * [flake-parts/modules/formatter.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/formatter.nix) An attribute set of unmergeable values. This is also used by [`nix build .#`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-build.html) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake-parts/modules/legacyPackages.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/legacyPackages.nix) All the system types to enumerate in the flake output subattributes. In other words, all valid values for `system` in e.g. `packages..foo`. _Type:_ list of string _Declared by:_ * [flake-parts/modules/perSystem.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/perSystem.nix) A helper that defines transposed attributes in the flake outputs. When you define `transposition.foo = { };`, definitions are added to the effect of (pseudo-code): `flake.foo.${system} = (perSystem system).foo; perInput = system: inputFlake: inputFlake.foo.${system};` Transposition is the operation that swaps the indices of a data structure. Here it refers specifically to the transposition between `perSystem: .${system}.${attribute} outputs: .${attribute}.${system}` It also defines the reverse operation in [`perInput`](https://flake.parts/options/flake-parts.html#opt-perInput) . _Type:_ lazy attribute set of (submodule) _Declared by:_ * [flake-parts/modules/transposition.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/transposition.nix) Whether to provide a stub option declaration for `perSystem.`. The stub option declaration does not support merging and lacks documentation, so you are recommended to declare the `perSystem.` option yourself and avoid `adHoc`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [flake-parts/modules/transposition.nix](https://github.com/hercules-ci/flake-parts/blob/main/modules/transposition.nix) --- # Dogfood a Reusable Flake Module - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/dogfood-a-reusable-module.md "Suggest an edit") _to dogfood: test one's own product by using it for your own purposes_ You can distribute reusable module logic through flakes using flake attributes, and that includes [`flakeModules`](https://flake.parts/options/flake-parts-flakemodules#opt-flake.flakeModules) . However, importing from `self` is not possible, because such an import could affect the `self` attribute set. To use your own exported module, you have to reference it directly. `┌─────────┐ ┌───────────────────────────────────┐ │ imports │ │ config.flake.flakeModules.default │ └─────┬───┘ └─────────────────┬─────────────────┘ │ │ │ ┌──────────────────┘ │ │ ┌─────▼──────▼─────┐ │ flake-module.nix │ └──────────────────┘` If your module does not need anything from the local flake's lexical scope, you might implement the references in the diagram above. But if you do need to reference, say, a package from your local flake, then you need to apply one of the solutions from [Define a Module in a Separate File](https://flake.parts/define-module-in-separate-file) . Instead of the arrows joining at the file name, we'll need a `let` binding. `┌─────────┐ ┌───────────────────────────────────┐ │ imports │ │ config.flake.flakeModules.default │ └─────┬───┘ └─────────────────┬─────────────────┘ │ │ │ ┌─────────────────┘ │ │ ┌─────▼───────▼─────────┐ │ let flakeModule = ... │ └─────────┬─────────────┘ │ │ │ ┌─────────▼────────┐ │ flake-module.nix │ └──────────────────┘` Here's an example of how this looks using the [`importApply` technique](https://flake.parts/define-module-in-separate-file#importapply) . This flake shows how to export a flake module that references its own flake, instead of just the user's flake (which would be available in the module arguments). The example only demonstrates the principle, by reexporting a locally defined package in the user's flake. `flake.nix`: `{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ withSystem, flake-parts-lib, ... }: let inherit (flake-parts-lib) importApply; flakeModules.default = importApply ./flake-module.nix { inherit withSystem; }; in { imports = [ flakeModules.default # inputs.foo.flakeModules.default ]; systems = [ "x86_64-linux" "aarch64-darwin" ]; perSystem = { pkgs, ... }: { packages.default = pkgs.hello; }; flake = { inherit flakeModules; }; }); }` `flake-module.nix`: `# The importApply argument. Use this to reference things defined locally, # as opposed to the flake where this is imported. localFlake: # Regular module arguments; self, inputs, etc all reference the final user flake, # where this module was imported. { lib, config, self, inputs, ... }: { perSystem = { system, ... }: { # A copy of hello that was defined by this flake, not the user's flake. packages.greeter = localFlake.withSystem system ({ config, ... }: config.packages.default ); }; }` The ["Factor it out" technique](https://flake.parts/define-module-in-separate-file#factor-it-out) is equally applicable; replace `importApply` by an inline module. --- # Overlays - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/overlays.md "Suggest an edit") Overlays in Nixpkgs allow the customization of the entire package set in a consistent manner. For example, if you set a library's attribute in an overlay, this change will be applied to all packages that previously depended on that attribute. This is in contrast with the way the Flake `packages` attribute works. Such definitions do not feed back into the Nixpkgs package set. Advantages of overlays: * The original attribute won't be around anymore. This almost guarantees that the original value won't be used anywhere else. * The dependencies are more coherent, resulting in fewer "diamond dependency" conflicts Advantages of the flake `packages` attribute without `inputs..follows`: * A package definition won't interfere with other packages. * The packages will be used with the dependencies that its CI built it with, resulting in fewer build problems. Advantages of the flake `packages` attribute with `inputs..follows`: * A package definition won't interfere with other packages. * The dependencies are more coherent, resulting in fewer "diamond dependency" conflicts Neither option is perfect. Flake parts does not yet come with an endorsed module that initializes the `pkgs` argument. You may initialize it manually; for example: `perSystem = { system, ... }: { _module.args.pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.foo.overlays.default (final: prev: { # ... things you need to patch ... }) ]; config = { }; }; };` While overlays are about packages, and therefore dependent on the choice of `system`, they are not defined under a system attribute. Instead they are in a top level attribute. The reason for this is that they are conceptually defined as a function of not just `system`, but of a package set that includes `system`. Putting them in a `${system}` attribute would be conceptually redundant, and it would bother users of the overlay. If an overlay needs a system string, it should usually reach for `prev.stdenv.hostPlatform.system`. `final: prev: { systemStringFile = prev.writeText "system-string" prev.stdenv.hostPlatform.system; }` A manually defined overlay (more on automation later), can make use of `perSystem` as follows: ``{ withSystem, ... }: { flake.overlays.my-overlay = final: prev: withSystem prev.stdenv.hostPlatform.system ( # perSystem parameters. Note that perSystem does not use `final` or `prev`. { config, ... }: { my-package = config.packages.my-package; }); }`` Note that such a usage of `perSystem` may introduce packages from the locked inputs of the overlay-defining flake into a completely different version of Nixpkgs. This may or may not be desirable as discussed in the introduction. A more integrated method that repurpose the `pkgs` module argument in `perSystem` is available in the [`easyOverlay`](https://flake.parts/options/flake-parts-easyoverlay) module, which is the topic of the next section. While it is possible to define an [overlay](https://flake.parts/options/flake-parts#opt-flake.overlays) manually, flake-parts offers a module that derives an overlay from the `perSystem` module. Here's a flake module that defines `overlays.default` to an overlay of the shape `final: prev: { my-package = ...; }`. `{ imports = [ inputs.flake-parts.flakeModules.easyOverlay ]; perSystem = { config, pkgs, final, ... }: { overlayAttrs = { inherit (config.packages) my-package; }; packages.my-package = /* ... */; }; }` In the context of an overlay, the `pkgs` module argument is defined as the "previous" or "super" argument of an overlay. The `final` module argument is only defined when [`easyOverlay`](https://flake.parts/options/flake-parts-easyoverlay) is imported. It is defined as the "final" or "self" argument. It is _also_ available outside the context of an `flake.overlays.default`, in which case its value is (also) equal to `pkgs` extended by the [`overlayAttrs`](https://flake.parts/options/flake-parts-easyoverlay#opt-perSystem.overlayAttrs) . * [`easyOverlay`](https://flake.parts/options/flake-parts-easyoverlay) * [`perSystem.overlayAttrs`](https://flake.parts/options/flake-parts-easyoverlay#opt-perSystem.overlayAttrs) --- # Generate Documentation - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/generate-documentation.md "Suggest an edit") The module system supports the generation of documentation. This guide shows how to avoid common solutions to documentation errors, and how to publish documentation here on [flake.parts](https://flake.parts/) . Make sure all options have a `description` or if necessary mark them as `internal = true;`. Documentation generation works by evaluating your module in a slightly different way, just to extract documentation, while some of the option values are not valid. This particularly affects `default` in your `mkOption` calls. Consider the following example: `contents = mkOption { description = '' A derivation that produces the contents. ''; # no default }; publishPath = mkOption { description = '' The contents to publish. ''; default = config.contents; };` In this situation, the documentation for `publishPath` requires that we evaluate `contents`, which is unset and therefore results in an error. The solution is to add `defaultText`: ``publishPath = mkOption { description = '' The contents to publish. ''; default = config.contents; defaultText = lib.literalExpression "contents"; # Alternatively, if you don't want to put non-trivial code here, use markdown: # defaultText = lib.literalMD "the value of the `contents` option"; };`` While it is possible to declare options using `config.perSystem`, or just `perSystem = { ... }: { options = /* ... */; }`, these modules will not be picked up by the documentation generation. As a rule of thumb, the documentation generator only traverses through `options` and not through `config`. To make docs available, use this syntax: `{ lib, self, ... }: { options.perSystem = flake-parts-lib.mkPerSystemOption ({ config, ... }: { /* ... put perSystem module body here ... */ }); }` 1. Check that you've added a license to the project. > Without a license attached, people will be able to look at it, and fork it (because both of that is allowed via GitHub's own Terms of Service), but they may not use it in their own projects, modify it or otherwise do anything else with it. You alone have the exclusive copyright. — [GitHub Guide on Open Source Licensing](https://github.com/readme/guides/open-source-licensing) 2. Clone `https://github.com/hercules-ci/flake.parts-website`, or for via ssh: `git@github.com:hercules-ci/flake.parts-website` 3. Add your flake to the `inputs` in `flake.nix` 4. Define the details in `render.inputs` in `flake.nix`. See [flake.parts-website reference docs](https://flake.parts/options/flake.parts-website) for option details. 5. `nix build -L --show-trace` 6. Open a pull request If you're still getting an error, or a bad output, consider opening a draft PR. The `flake.parts-website` flake exposes modules for reuse in your own flake, and could be used to internally publish documentation for private modules. These modules are subject to change, but also slow moving. `$ nix flake init -t flake.parts-website#private-site` --- # Module Arguments - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/module-arguments.md "Suggest an edit") The module system allows modules and submodules to be defined using plain attribute sets, or functions that return attribute sets. When a module is a function, the module system and flake-parts pass various attributes to it. These attributes are called _module arguments_. This page documents the available arguments. Note that if you use the `args@{ ... }` or `args:` syntax, you only receive the arguments you explicitly name in the function signature; see [below](https://flake.parts/module-arguments.html#how-module-function-arguments-work) for details. These arguments are available in all modules and submodules, provided by the standard Nix module system. See the [NixOS manual](https://nixos.org/manual/nixos/unstable/#sec-writing-modules) for an introduction to the module system. The values of the current module scope, containing the merged result of all option definitions from all modules. In top-level modules, `config` contains the entire flake configuration. In `perSystem` modules, it contains configuration that's specialized towards the given `system`. The option declarations of the current module scope. This is primarily useful for inspecting option metadata or creating references to options in documentation. `"${options.foo}"` renders a full option path towards `foo`. The Nixpkgs library functions, taken from flake-parts' `nixpkgs-lib` input. Commonly used for utility functions like `lib.mkIf`, `lib.mkOption`, `lib.types`, and many others. See the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/unstable/#id-1.4) for documentation of available functions. For the `nixpkgs-lib` input, you may specify a flake that only contains `lib`, or a whole Nixpkgs flake. By default, just `lib` gives you slightly faster shell tab completion as of writing. To promote modularity and not create unnecessary, "strange" dependency constraints on `lib`, you are recommended not to override it. You may select a different version of it using Flake [`follows`](https://nix.dev/manual/nix/latest/command-ref/new-cli/nix3-flake.html#flake-inputs) . See the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/unstable/#module-system-module-arguments) for documentation of more rarely used general module arguments. Top-level refers to the module passed to `mkFlake`, or any of the modules imported into it using `imports`. A function from a [system](https://flake.parts/system) string to the `config` of the appropriate `perSystem`. A function that brings the `perSystem` module arguments. This allows a module to reference the defining flake without introducing global variables. `{ moduleWithSystem, ... }: { nixosModules.default = moduleWithSystem ( perSystem@{ config, ... }: # NOTE: only explicitly named parameters will be in perSystem; see below nixos@{ ... }: { services.foo.package = perSystem.config.packages.foo; imports = [ ./nixos-foo.nix ]; } ); }` Enter the scope of a system. Example: ``{ withSystem, inputs, ... }: { # perSystem = { ... }: { config.packages.hello = ...; }; flake.nixosConfigurations.foo = withSystem "x86_64-linux" (ctx@{ config, inputs', ... }: inputs.nixpkgs.lib.nixosSystem { # Expose `packages`, `inputs` and `inputs'` as module arguments. # Using specialArgs permits use in `imports`. # Note: if you publish modules for reuse, do not rely on specialArgs, but # on the flake scope instead. See also https://flake.parts/define-module-in-separate-file.html specialArgs = { packages = config.packages; inherit inputs inputs'; }; modules = [ # This module could be moved into a separate file; otherwise we might # as well have used ctx.config.packages directly. ({ config, lib, packages, pkgs, ... }: { imports = [ ./nixos-configuration.nix ]; services.nginx.enable = true; environment.systemPackages = [ # hello package defined in perSystem packages.hello ]; }) ]; }); }`` Default: `inputs.nixpkgs.legacyPackages.${system}`. Set via `config._module.args.pkgs`. Example: `perSystem = { pkgs, ... }: { packages.hello = pkgs.hello; };` The flake `inputs` parameter, but with `system` pre-selected. Note the last character of the name, `'`, pronounced _prime_. `inputs.foo.packages.x86_64-linux.hello` -> `inputs'.foo.packages.hello` `system` selection is handled by the extensible function [`perInput`](https://flake.parts/options/flake-parts#opt-perInput) . Example: `perSystem = { inputs', ... }: { packages.default = inputs'.foo.packages.bar; };` The flake `self` parameter, but with `system` pre-selected. Example: `perSystem = { pkgs, self', ... }: { packages.hello = pkgs.hello; packages.default = self'.packages.hello; };` The [system](https://flake.parts/system) parameter, describing the architecture and platform of the host system (where the thing will run). Example: `perSystem = { system, ... }: { packages.nixosDefaultPackages = let nixos = inputs.nixpkgs.lib.nixosSystem { modules = [ { nixpkgs.hostPlatform = system; } ]; }; checked = builtins.seq nixos.config.system.build.toplevel; # I have no idea why you would want this, but you do you in checked nixos.config.system.path; };` The Nix module system determines which arguments to pass to a module function by using `builtins.functionArgs`. This means only the parameters you explicitly name in your function signature will be available. **This doesn't capture all module arguments:** `perSystem = # A perSystem definition is also a module args: { # args will NOT contain module arguments like pkgs, self', inputs', etc. # despite being defined: _module.args.pkgs = import ...; packages.example = args.pkgs.hello; # Error: attribute 'pkgs' missing };` **This does work:** `perSystem = { pkgs, self', inputs', ... }: { # Named arguments are available packages.example = pkgs.hello; packages.fromOther = inputs'.other-flake.packages.something; };` **This works, but is not recommended:** ``perSystem = args@{ pkgs, self', inputs', ... }: { # Not recommended, as the availability of `args` can lead to confusion packages.example = args.pkgs.hello; packages.fromOther = args.inputs'.other-flake.packages.something; };`` In the context of `perSystem`, you can obtain all module arguments using the internal option `allModuleArgs`: `perSystem = { config, ... }: { # Access all perSystem module arguments packages.example = config.allModuleArgs.pkgs.hello; # This includes custom arguments defined with _module.args packages.custom = config.allModuleArgs.myCustomArg; # You can even access the entire set of module arguments foo = config.allModuleArgs; };` `allModuleArgs` is available because flake-parts provides it for the `perSystem` submodule evaluation, similar to how it works with the `withSystem` function. This is not provided for the top level flake-parts configuration; only `perSystem`. Nix evaluates the attribute set passed to a function like `args@{ foo, ... }` strictly (before returning the function body) in order to efficiently check the function call's argument, to make sure it's an attribute set, and that it has the listed attributes, like `foo`. This means it needs to evaluate the argument before returning the function body. However, the module system would face a circular dependency when passing the module arguments using a straightforward function call: it can't know all available module argument names until it has evaluated the modules, but it can't evaluate module functions without passing them their arguments. To solve this, the module system uses `builtins.functionArgs` to inspect what arguments a module function expects, and constructs the argument set accordingly. If a module argument is not defined in any module or `specialArgs`, the attribute for it is present, but instead of a value, evaluating it will throw an exception. In a normal Nix function invocation, an `args@` binding would bind to the original argument set, which, as discussed, is not the complete set of module arguments. Unfortunately, the module system cannot know whether such a binding is present in the function definition, so it cannot warn about this potential issue. --- # flakeModules - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake-parts-flakeModules.md "Suggest an edit") Adds the `flakeModules` attribute and `flakeModule` alias. This module makes deduplication and `disabledModules` work, even if the definitions are inline modules or [`importApply`](https://flake.parts/define-module-in-separate-file#importapply) . To use these options, add inside the `mkFlake`: `imports = [ inputs.flake-parts.flakeModules.flakeModules ];` Run `nix flake lock` and you're set. Raw flake output attributes. Any attribute can be set here, but some attributes are represented by options, to provide appropriate configuration merging. _Type:_ open submodule of lazy attribute set of raw value _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) Alias of `flakeModules.default`. _Type:_ submodule _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) flake-parts modules for use by other flakes. If the flake defines only one module, it should be `flakeModules.default`. You can not read this option in defining the flake’s own `imports`. Instead, you can put the module in question into its own file or let binding and reference it both in `imports` and export it with this option. See [Dogfood a Reusable Module](https://flake.parts/dogfood-a-reusable-module) for details and an example. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/flakeModules.nix) --- # easyOverlay (warning) - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake-parts-easyOverlay.md "Suggest an edit") This module does NOT make _consuming_ an overlay easy. This module is intended for _creating_ overlays. While it is possible to consume the overlay created by this module using the `final` module argument, this is somewhat unconventional. Instead: * _Avoid_ overlays. Many flakes can do without them. * Initialize `pkgs` yourself: `perSystem = { system, ... }: { _module.args.pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.foo.overlays.default (final: prev: { # ... things you really need to patch ... }) ]; config = { }; }; };` This module is for flake authors who need to provide a simple overlay in addition to the common flake attributes. It is not for users who want to consume an overlay. This module overrides the `pkgs` module argument and provides the `final` module argument so that the `perSystem` module can be evaluated as an overlay. Attributes added by the overlay must be defined in `overlayAttrs`. The resulting overlay is defined in the `overlays.default` output. The resulting behavior tends to be not 100% idiomatic. A hand-written overlay would usually use `final` more often, but nonetheless it gets the job done for simple use cases; certainly the simple use cases where overlays aren't strictly necessary. It has an unfortunate name and may be renamed. Alternatively, its functionality may be moved out of flake-parts, into some Nixpkgs module. Certainly until then, feel free to use the module if you understand what it does. To use these options, add inside the `mkFlake`: `imports = [ inputs.flake-parts.flakeModules.easyOverlay ];` Run `nix flake lock` and you're set. A function from system to flake-like attributes omitting the `` attribute. Modules defined here have access to the suboptions and [some convenient module arguments](https://flake.parts/module-arguments) . _Type:_ module _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/easyOverlay.nix) Attributes to add to `overlays.default`. The `overlays.default` overlay will re-evaluate `perSystem` with the “prev” (or “super”) overlay argument value as the `pkgs` module argument. The `easyOverlay` module also adds the `final` module argument, for the result of applying the overlay. When not in an overlay, `final` defaults to `pkgs` plus the generated overlay. This requires Nixpkgs to be re-evaluated, which is more expensive than setting `pkgs` to a Nixpkgs that already includes the necessary overlays that are required for the flake itself. See [Overlays](https://flake.parts/overlays) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/easyOverlay.nix) --- # modules - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake-parts-modules.md "Suggest an edit") This module provides a generic `modules` flake output attribute, that can host modules for any module system application. Furthermore, it adds basic type checking so that the modules can't be imported into the wrong [class](https://nixos.org/manual/nixpkgs/stable/index.html#module-system-lib-evalModules-param-class) of configurations. For example, if a Home Manager module would be loaded into a NixOS configuration, that becomes a simple type error, instead of a complicated message about undeclared options. Example: `{ withSystem, ... }: { flake.modules.nixos.myPreferences = ./nixos/preferences.nix; flake.modules.nixos.myService = { pkgs, ... }: { imports = [ ./nixos/services/myService.nix ]; services.myService.package = withSystem pkgs.stdenv.hostPlatform.system ({ config, ... }: config.packages.default; ); }; }` To use these options, add inside the `mkFlake`: `imports = [ inputs.flake-parts.flakeModules.modules ];` Run `nix flake lock` and you're set. Raw flake output attributes. Any attribute can be set here, but some attributes are represented by options, to provide appropriate configuration merging. _Type:_ open submodule of lazy attribute set of raw value _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/modules.nix) Groups of modules published by the flake. The outer attributes declare the [`class`](https://nixos.org/manual/nixpkgs/stable/#module-system-lib-evalModules-param-class) of the modules within it. The special attribute `generic` does not declare a class, allowing its modules to be used in any module class. _Type:_ lazy attribute set of lazy attribute set of module _Example:_ ``{ # NixOS configurations are modules with class "nixos" nixos = { # You can define a module right here: noBoot = { config, ... }: { boot.loader.enable = false; }; # Or you may refer to it by file autoDeploy = ./nixos/auto-deploy.nix; # Or maybe you need both projectIcarus = { config, pkgs, ... }: { imports = [ ./nixos/project-icarus.nix ]; services.project-icarus.package = withSystem pkgs.stdenv.hostPlatform.system ({ config, ... }: config.packages.default ); }; }; # Flake-parts modules # If you're not just publishing a module, but also using it locally, # create a let binding to declare it before calling `mkFlake` so you can # use it in both places. flake = { foo = someModule; }; # Modules that can be loaded anywhere generic = { my-pkgs = { _module.args.my-pkgs = …; }; }; }`` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/modules.nix) --- # agenix-shell - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/agenix-shell.md "Suggest an edit") [agenix-shell](https://github.com/aciceri/agenix-shell) is the [agenix](https://github.com/ryantm/agenix) counterpart for `devShell`. It provides options used to define a `shellHook` that, when added to your `devShell`, automatically decrypts secrets and export them. [Here](https://github.com/aciceri/agenix-shell/blob/master/templates/basic/flake.nix) 's a template you can start from. To use these options, add to your flake inputs: `agenix-shell.url = "github:aciceri/agenix-shell";` and inside the `mkFlake`: `imports = [ inputs.agenix-shell.flakeModules.default ];` Run `nix flake lock` and you're set. Path to SSH keys to be used as identities in age decryption. _Type:_ list of string _Default:_ `[ "$HOME/.ssh/id_ed25519" "$HOME/.ssh/id_rsa" ]` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Attrset of secrets. _Type:_ attribute set of (submodule) _Example:_ `{ foo.file = "secrets/foo.age"; bar = { file = "secrets/bar.age"; mode = "0440"; }; }` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Age file the secret is loaded from. _Type:_ absolute path _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Permissions mode of the decrypted secret in a format understood by chmod. _Type:_ string _Default:_ `"0400"` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Name of the variable containing the secret. _Type:_ valid shell variable name (string matching the pattern ^\[\_A-Za-z\]\[\_A-Za-z0-9\]+$) _Default:_ `` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Name of the variable containing the path to the secret. _Type:_ valid shell variable name (string matching the pattern ^\[\_A-Za-z\]\[\_A-Za-z0-9\]+$) _Default:_ `_PATH` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) The age package to use. _Type:_ package _Default:_ `pkgs.rage` _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) Script that exports secrets as variables, it’s meant to be used as hook in `devShell`s. _Type:_ package _Default:_ An automatically generated package _Declared by:_ * [agenix-shell/flakeModules/agenix-shell.nix](https://github.com/aciceri/agenix-shell/blob/master/flakeModules/agenix-shell.nix) --- # partitions - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake-parts-partitions.md "Suggest an edit") This module provides a performance optimization, and a way to reduce the size of the main `flake.lock` that is [currently](https://github.com/NixOS/nix/issues/7730) getting copied into all consuming flakes' lock files, which bothers some users. The goals of this module are: * **Do not load irrelevant modules** when you evaluate an attribute of an already locked flake, it . If the flake was locked remotely, the sources for those dependencies would still have to be fetched. This is achieved by moving some `imports` and their related definitons into [`partitions..module`](https://flake.parts/options/flake-parts-partitions.html#opt-partitions._name_.module) and defining [`partitionAttrs.`](https://flake.parts/options/flake-parts-partitions.html#opt-partitionedAttrs) to point to that partition. * **Don't copy irrelevant lock entries** when you lock a flake that has the current flake as its input. This can be achieved by moving inputs into a subflake whose only responsibility is to provide the inputs, and then pointing [`partitions..extraInputsFlake`](https://flake.parts/options/flake-parts-partitions.html#opt-partitions._name_.extraInputsFlake) to that subflake. Definitions in the `mkFlake` root module (or a direct import into it): `partitionedAttrs.checks = "dev"; partitionedAttrs.devShells = "dev"; partitionedAttrs.herculesCI = "dev"; partitions.dev.extraInputsFlake = ./dev; partitions.dev.module = { inputs, ... }: { imports = [ ./nix/development.nix inputs.hercules-ci-effects.flakeModule inputs.git-hooks-nix.flakeModule ]; };` `dev/flake.nix`: ``{ description = "Private inputs for development purposes. These are used by the top level flake in the `dev` partition, but do not appear in consumers' lock files."; inputs = { hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects"; git-hooks-nix.url = "github:cachix/git-hooks.nix"; # See https://github.com/ursi/get-flake/issues/4 git-hooks-nix.inputs.nixpkgs.follows = ""; }; # This flake is only used for its inputs. outputs = { ... }: { }; }`` * A module in a partition can affect options that are not exported with `partitionedAttrs`. This will have an effect that is only observable in the attributes that are exported with `partitionedAttrs`, and not in the other flake attributes. This could be useful or surprising. * A flake used in `extraInputsFlake` is a separate flake, which means that you may have to duplicate e.g. a `nixpkgs` input for the purpose of `follows`. We don't have a way to override flake inputs after the effect. `imports` must be loaded eagerly by the module system, because any module can affect the contents and shape of `config`. Declaring `imports = [ foo ];` is simply not enough to know the effects of `foo` without getting `foo`'s attributes. Fortunately this fundamental limitation only applies one "layer" at a time. Every submodule has its own set of modules or `imports` and that allows us to still load modules lazily, as long as we provide the means for those modules to affect the root (here: the flake) in a controlled way. That is what this module does. It loads the "optional" modules into a separate submodule, and provides an option to load parts of that (sub)module evaluation into the root. To use these options, add inside the `mkFlake`: `imports = [ inputs.flake-parts.flakeModules.partitions ];` Run `nix flake lock` and you're set. A set of flake output attributes that are taken from a partition instead of the default top level flake-parts evaluation. The attribute name refers to the flake output attribute name, and the value is the name of the partition to use. The flake attributes are overridden with `lib.mkForce` priority. See the `partitions` options to understand the purpose. Example: `partitionedAttrs.devShells = "dev";` Equivalent: `flake.devShells = lib.mkForce config.partitions.dev.module.flake.devShells;` _Type:_ attribute set of string _Default:_ `{ }` _Example:_ `{ checks = "dev"; devShells = "dev"; herculesCI = "dev"; }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) By partitioning the flake, you can avoid fetching inputs that are not needed for the evaluation of a particular attribute. Each partition is a distinct module system evaluation. This allows attributes of the final flake to be defined by multiple sets of modules, so that for example the `packages` attribute can be evaluated without loading development related inputs. While the module system does a good job at preserving laziness, the fact that a development related import can define `packages` means that in order to evaluate `packages`, you need to evaluate at least to the point where you can conclude that the development related import does not actually define a `packages` attribute. While the actual evaluation is cheap, it can only happen after fetching the input, which is not as cheap. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ dev = { extraInputsFlake = ./dev; module = ./dev/flake-module.nix; }; }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) Extra inputs to add to the inputs module argument in the partition. This can be used as a workaround for the fact that transitive inputs are locked in the “end user” flake. That’s not desirable for inputs they don’t need, such as development inputs. _Type:_ lazy attribute set of raw value _Default:_ if `extraInputsFlake` is set, then `builtins.getFlake extraInputsFlake`, else `{ }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) Location of a flake whose inputs to add to the inputs module argument in the partition. Note that flake `follows` are resolved without any awareness of inputs that are not in the flake. As a consequence, a `follows` entry in the flake inputs can not refer to inputs that are not in that specific flake. Implementation note: if the type of `extraInputsFlake` is a path, it is loaded with an expression-based reimplementation of `builtins.getFlake`, as `getFlake` is incapable of loading paths in pure mode as of writing. _Type:_ raw value _Example:_ `./dev` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) A re-evaluation of the flake-parts top level modules. You may define config definitions, `imports`, etc here, and it can be read like any other submodule. _Type:_ submodule _Default:_ `{ }` _Example:_ `{ imports = [ ./dev/flake-module.nix ]; }` _Declared by:_ * [flake-parts](https://github.com/hercules-ci/flake-parts/blob/main/extras/partitions.nix) --- # agenix-rekey - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/agenix-rekey.md "Suggest an edit") This is an extension for [agenix](https://github.com/ryantm/agenix) which allows you to get rid of maintaining a `secrets.nix` file by automatically re-encrypting secrets where needed. It also allows you to define versatile generators for secrets, so they can be bootstrapped automatically. This can be used alongside regular use of agenix. Please also refer to the upstream [installation section](https://github.com/oddlama/agenix-rekey?tab=readme-ov-file#installation) and [usage guide](https://github.com/oddlama/agenix-rekey?tab=readme-ov-file#usage) for information on how to access the wrapper utility in a devshell and how to setup your hosts to make use of agenix-rekey. To use these options, add to your flake inputs: `agenix-rekey.url = "github:oddlama/agenix-rekey";` and inside the `mkFlake`: `imports = [ inputs.agenix-rekey.flakeModule ];` Run `nix flake lock` and you're set. The agenix-rekey apps specific to your flake. Used by the `agenix` wrapper script, and can be run manually using `nix run .#agenix-rekey.$system.`. _Type:_ lazy attribute set of lazy attribute set of package _(read only)_ _Default:_ `"Automatically filled by agenix-rekey"` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) The agenix-rekey wrapper script `agenix`. We recommend adding this to your devshell so you can execute it easily. By using the package provided here, you can skip adding the overlay to your pkgs. Alternatively you can also pass it to your flake outputs (apps or packages). _Type:_ package _(read only)_ _Default:_ `""` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) The rage package to use. Determines the age package used for encrypting / decrypting. Defaults to `pkgs.rage`. We only guarantee compatibility with `pkgs.age` and `pkgs.rage`. _Type:_ package _Default:_ `pkgs.rage` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) Whether to collect home manager configurations automatically from specified NixOS configurations. _Type:_ boolean _Default:_ `true` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) All home manager configurations that should be considered for rekeying. _Type:_ lazy attribute set of unspecified value _Default:_ `lib.filterAttrs (_: x: x.config ? age) (self.homeConfigurations or { })` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) All nixosSystems that should be considered for rekeying. _Type:_ lazy attribute set of unspecified value _Default:_ `lib.filterAttrs (_: x: x.config ? age) self.nixosConfigurations` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) The package set to use when defining agenix-rekey scripts. _Type:_ unspecified value _Default:_ `pkgs # (module argument)` _Declared by:_ * [agenix-rekey/flake-module.nix](https://github.com/oddlama/agenix-rekey/blob/main/flake-module.nix) --- # actions.nix - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/actions-nix.md "Suggest an edit") [`actions-nix`](https://github.com/nialov/actions.nix) is a nix module that converts `nix` configuration into GitHub/Gitea action syntax `yaml`. Use `nix` for workflow definition instead of `yaml`. To use these options, add to your flake inputs: `actions-nix.url = "github:nialov/actions.nix";` and inside the `mkFlake`: `imports = [ inputs.actions-nix.flakeModules.default ];` Run `nix flake lock` and you're set. Configuration of actions. _Type:_ submodule _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix) Default value for runs-on for jobs. _Type:_ string _Default:_ `"ubuntu-latest"` _Example:_ `"macos-latest"` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) Default value for timeout-minutes for jobs. _Type:_ null or signed integer _Default:_ `null` _Example:_ `60` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) Whether to enable pre-commit generation of workflow yaml files. The pre-commit hook, generated using [git-hooks.nix](https://github.com/cachix/git-hooks.nix) , converts `flake.actions-nix.workflows` configuration into respective workflow files in the path defined within the configuration, i.e. key in `actions-nix.workflows` attribute set . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) Attributes where key is the file in which you want the `yaml` configuration and the value is the workflow definition attribute set in `nix`. The value is freeform, i.e., you may use any keys and values within the attribute set. However, some common keys and values have option definitions. If these definitions do not allow syntax that is valid within an action framework, e.g. GitHub or Gitea, please file an issue. See GitHub documentation for GitHub Actions syntax: [https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions) See Gitea documentation for Gitea Actions syntax: [https://docs.gitea.com/next/usage/actions/overview/](https://docs.gitea.com/next/usage/actions/overview/) _Type:_ attribute set of (open submodule of (attribute set)) _Default:_ `{ }` _Example:_ `{ ".github/workflows/main.yaml" = { jobs = { nix-flake-check = { steps = [ { uses = "actions/checkout@v4"; } { uses = "DeterminateSystems/nix-installer-action@v9"; } { name = "Check flake"; run = "nix -Lv flake check"; } ]; }; }; }; }` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) Configuration of jobs. _Type:_ attribute set of (open submodule of (attribute set)) _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or (list of string) _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ string _Default:_ `defaultValues.jobs.runs-on` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ list of (open submodule of (attribute set)) _Default:_ `[ ]` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or (attribute set) _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or string _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or string _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or string _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or string _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or (attribute set) _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or (attribute set) _Default:_ `null` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) _Type:_ null or signed integer _Default:_ `defaultValues.jobs.timeout-minutes` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) Trigger(s) to automatically trigger a workflow. _Type:_ attribute set _Default:_ `{ push = { }; workflow_dispatch = { }; }` _Declared by:_ * [actions-nix/nix/flake-modules/actions-nix/ci.nix](https://github.com/nialov/actions.nix/blob/master/nix/flake-modules/actions-nix/ci.nix) --- # disko - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/disko.md "Suggest an edit") **Declarative disk partitioning** Adds the `diskoConfigurations` flake output. When using disko with Flakes, the configuration is discovered first under the [`diskoConfigurations`](https://flake.parts/options/disko.html#opt-flake.diskoConfigurations) flake output attribute or else from the disko module of a NixOS configuration of that name under [`nixosConfigurations`](https://flake.parts/options/flake-parts#opt-flake.nixosConfigurations) . See [disko README](https://github.com/nix-community/disko/tree/master#readme) To use these options, add to your flake inputs: `disko.url = "github:nix-community/disko";` and inside the `mkFlake`: `imports = [ inputs.disko.flakeModules.default ];` Run `nix flake lock` and you're set. Instantiated Disko configurations. Used by `disko` and `disko-install`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ my-pc = { disko = { devices = { disk = { my-disk = { content = { partitions = { ESP = { content = { format = "vfat"; mountOptions = [ "umask=0077" ]; mountpoint = "/boot"; type = "filesystem"; }; size = "500M"; type = "EF00"; }; root = { content = { format = "ext4"; mountpoint = "/"; type = "filesystem"; }; size = "100%"; }; }; type = "gpt"; }; device = "/dev/sda"; type = "disk"; }; }; }; }; }; }` _Declared by:_ * [disko/flake-module.nix](https://github.com/nix-community/disko/blob/master/flake-module.nix) --- # devshell - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/devshell.md "Suggest an edit") Simple per-project developer environments. Example: `perSystem = { config, pkgs, ... }: { devshells.default = { env = [ { name = "HTTP_PORT"; value = 8080; } ]; commands = [ { help = "print hello"; name = "hello"; command = "echo hello"; } ]; packages = [ pkgs.cowsay ]; }; };` See also the [`devshell` project page](https://github.com/numtide/devshell) To use these options, add to your flake inputs: `devshell.url = "github:numtide/devshell";` and inside the `mkFlake`: `imports = [ inputs.devshell.flakeModule ];` Run `nix flake lock` and you're set. Configure devshells with flake-parts. Not to be confused with `devShells`, with a capital S. Yes, this is unfortunate. Each devshell will also configure an equivalent `devShells`. Used to define devshells. not to be confused with `devShells` _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devshell/flake-module.nix](https://github.com/numtide/devshell/blob/main/flake-module.nix) Add commands to the environment. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ `[ { help = "print hello"; name = "hello"; command = "echo hello"; } { package = "nixpkgs-fmt"; category = "formatter"; } ]` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) Used to bring in a specific package. This package will be added to the environment. _Type:_ null or (package or string convertible to it) _Default:_ `null` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) Set a free text category under which this command is grouped and shown in the help menu. _Type:_ string _Default:_ `"[general commands]"` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) If defined, it will add a script with the name of the command, and the content of this value. By default it generates a bash script, unless a different shebang is provided. _Type:_ null or string _Default:_ `null` _Example:_ `'' #!/usr/bin/env python print("Hello") ''` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) Describes what the command does in one line of text. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) Name of this command. Defaults to attribute name in commands. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devshell/modules/commands.nix](https://github.com/numtide/devshell/blob/main/modules/commands.nix) The set of packages to appear in the project environment. Those packages come from [https://nixos.org/NixOS/nixpkgs](https://nixos.org/NixOS/nixpkgs) and can be searched by going to [https://search.nixos.org/packages](https://search.nixos.org/packages) _Type:_ list of (package or string convertible to it) _Default:_ `[ ]` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Add all the build dependencies from the listed packages to the environment. _Type:_ list of (package or string convertible to it) _Default:_ `[ ]` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) A list of other steps that this one depends on. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Script to run. _Type:_ string _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Whether to enable load etc/profiles.d/\*.sh in the shell. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Metadata, such as ‘meta.description’. Can be useful as metadata for downstream tooling. _Type:_ attribute set of anything _Default:_ `{ }` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Message Of The Day. This is the welcome message that is being printed when the user opens the shell. You may use any valid ansi color from the 8-bit ansi color table. For example, to use a green color you would use something like {106}. You may also use {bold}, {italic}, {underline}. Use {reset} to turn off all attributes. _Type:_ string _Default:_ `'' {202}🔨 Welcome to devshell{reset} $(type -p menu &>/dev/null && menu) ''` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Name of the shell environment. It usually maps to the project name. _Type:_ string _Default:_ `"devshell"` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) If IN\_NIX\_SHELL is nonempty, or DIRENV\_IN\_ENVRC is set to ‘1’, then PRJ\_ROOT is set to the value of PWD. This option specifies the path to use as the value of PRJ\_ROOT in case IN\_NIX\_SHELL is empty or unset and DIRENV\_IN\_ENVRC is any value other than ‘1’. Set this to null to force PRJ\_ROOT to be defined at runtime (except if IN\_NIX\_SHELL or DIRENV\_IN\_ENVRC are defined as described above). Otherwise, you can set this to a string representing the desired default path, or to a submodule of the same type valid in the ‘env’ options list (except that the ‘name’ field is ignored). _Type:_ null or ((submodule) or non-empty string convertible to it) _Default:_ `{ eval = "$PWD"; }` _Example:_ `{ # Use the top-level directory of the working tree eval = "$(git rev-parse --show-toplevel)"; };` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Like value but not evaluated by Bash. This allows to inject other variable names or even commands using the `$()` notation. _Type:_ null or string _Default:_ `null` _Example:_ `"$OTHER_VAR"` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Name of the environment variable _Type:_ string _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Prepend to PATH-like environment variables. For example name = “PATH”; prefix = “bin”; will expand the path of ./bin and prepend it to the PATH, separated by ‘:’. _Type:_ null or string _Default:_ `null` _Example:_ `"bin"` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Whether to enable unsets the variable. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Shell-escaped value to set _Type:_ null or string or signed integer or boolean or package _Default:_ `null` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) A list of other steps that this one depends on. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Script to run. _Type:_ string _Declared by:_ * [devshell/modules/devshell.nix](https://github.com/numtide/devshell/blob/main/modules/devshell.nix) Add environment variables to the shell. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ `[ { name = "HTTP_PORT"; value = 8080; } { name = "PATH"; prefix = "bin"; } { name = "XDG_CACHE_DIR"; eval = "$PRJ_ROOT/.cache"; } { name = "CARGO_HOME"; unset = true; } ]` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Like value but not evaluated by Bash. This allows to inject other variable names or even commands using the `$()` notation. _Type:_ null or string _Default:_ `null` _Example:_ `"$OTHER_VAR"` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Name of the environment variable _Type:_ string _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Prepend to PATH-like environment variables. For example name = “PATH”; prefix = “bin”; will expand the path of ./bin and prepend it to the PATH, separated by ‘:’. _Type:_ null or string _Default:_ `null` _Example:_ `"bin"` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Whether to enable unsets the variable. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Shell-escaped value to set _Type:_ null or string or signed integer or boolean or package _Default:_ `null` _Declared by:_ * [devshell/modules/env.nix](https://github.com/numtide/devshell/blob/main/modules/env.nix) Add services to the environment. Services can be used to group long-running processes. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) Short description of the service group, shown in generated commands _Type:_ null or string _Default:_ `null` _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) Name of the service group. Defaults to attribute name in groups. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) Attrset of services that should be run in this group. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) Command to execute. _Type:_ string _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) Name of this service. Defaults to attribute name in group services. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devshell/modules/services.nix](https://github.com/numtide/devshell/blob/main/modules/services.nix) --- # devenv - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/devenv.md "Suggest an edit") [`devenv`](https://devenv.sh/) provides a devShell with many options, and container packages. See also the [setup guide at devenv.sh](https://devenv.sh/guides/using-with-flake-parts/) . To use these options, add to your flake inputs: devenv.url = "github:cachix/devenv"; and inside the `mkFlake`: imports = [\ inputs.devenv.flakeModule\ ]; Run `nix flake lock` and you're set. Extra modules to import into every shell. Allows flakeModules to add options to devenv for example. _Type:_ list of module _Default:_ [\ \ ] _Declared by:_ * [devenv/flake-module.nix](https://github.com/cachix/devenv/blob/main/flake-module.nix) The [devenv.sh](https://devenv.sh/) settings, per shell. Each definition `devenv.shells.` results in a value for [`devShells.`](https://flake.parts/options/flake-parts#opt-perSystem.devShells) . Define `devenv.shells.default` for the default `nix develop` invocation - without an argument. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ { # create devShells.default default = { # devenv settings, e.g. languages.elm.enable = true; }; } _Declared by:_ * [devenv/flake-module.nix](https://github.com/cachix/devenv/blob/main/flake-module.nix) A list of packages to expose inside the developer environment. Search available packages using `devenv search NAME`. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Whether to enable tools for Android Development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Android ABIs to install. By default, the arm64-v8a and x86\_64 ABIs are installed. _Type:_ list of string _Default:_ [\ "arm64-v8a"\ "x86_64"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to enable the installation of Android Studio. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Android Studio package to use. By default, the Android Studio package from nixpkgs is used. _Type:_ package _Default:_ `pkgs.android-studio` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android build tools to install. By default, version 30.0.3 is installed or \[ “33.0.2” “30.0.3” \] if flutter is enabled. _Type:_ list of string _Default:_ [\ "34.0.0"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The CMake versions to install for Android. By default, version 3.22.1 is installed. _Type:_ list of string _Default:_ [\ "3.22.1"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android command line tools to install. By default, version 11.0 is installed or 8.0 if flutter is enabled. _Type:_ string _Default:_ `"11.0"` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the Android Emulator. By default, the emulator is included. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android Emulator to install. By default, version 34.1.9 is installed. _Type:_ string _Default:_ `"34.1.9"` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The additional Android licenses to accept. By default, several standard licenses are accepted. _Type:_ list of string _Default:_ [\ "android-sdk-preview-license"\ "android-googletv-license"\ "android-sdk-arm-dbt-license"\ "google-gdk-license"\ "intel-android-extra-license"\ "intel-android-sysimage-license"\ "mips-android-sysimage-license"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Android extras to install. By default, the Google Cloud Messaging (GCM) extra is installed. _Type:_ list of string _Default:_ [\ "extras;google;gcm"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the Flutter tools. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Flutter package to use. By default, the Flutter package from nixpkgs is used. _Type:_ package _Default:_ `pkgs.flutter` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to use the Google APIs. By default, the Google APIs are used. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to use the Google TV Add-Ons. By default, the Google TV Add-Ons are used. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the Android NDK (Native Development Kit). By default, the NDK is included. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android NDK (Native Development Kit) to install. By default, version 26.1.10909125 is installed. _Type:_ list of string _Default:_ [\ "26.1.10909125"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android platform tools to install. By default, version 34.0.5 is installed or 34.0.5 if flutter is enabled. _Type:_ string _Default:_ `"34.0.5"` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Android platform versions to install. By default, versions 32 and 34 are installed. _Type:_ list of string _Default:_ [\ "32"\ "34"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the React Native tools. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the Android sources. By default, the sources are not included. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Android system image types to install. By default, the google\_apis\_playstore system image is installed. _Type:_ list of string _Default:_ [\ "google_apis_playstore"\ ] _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) Whether to include the Android system images. By default, the system images are included. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The version of the Android SDK tools to install. By default, version 26.1.1 is installed. _Type:_ string _Default:_ `"26.1.1"` _Declared by:_ * [devenv/src/modules/integrations/android.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/android.nix) The Apple SDK to add to the developer environment on macOS. If set to `null`, the system SDK can be used if the shell allows access to external environment variables. _Type:_ null or package _Default:_ `if pkgs.stdenv.isDarwin then pkgs.apple-sdk else null` _Example:_ `pkgs.apple-sdk_15` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Whether to enable aws-vault integration. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) The aws-vault package to use. _Type:_ package _Default:_ `pkgs.aws-vault` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Attribute set of packages including awscli2 _Type:_ submodule _Default:_ `pkgs` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Whether to enable Wraps awscli2 binary as `aws-vault exec -- aws `. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) The awscli2 package to use. _Type:_ package _Default:_ `pkgs.awscli2` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Attribute set of packages including opentofu _Type:_ submodule _Default:_ `pkgs` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Whether to enable Wraps opentofu binary as `aws-vault exec -- opentofu `. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) The opentofu package to use. _Type:_ package _Default:_ `pkgs.opentofu` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) The profile name passed to `aws-vault exec`. _Type:_ string _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Attribute set of packages including terraform _Type:_ submodule _Default:_ `pkgs` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Whether to enable Wraps terraform binary as `aws-vault exec -- terraform `. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) The terraform package to use. _Type:_ package _Default:_ `pkgs.terraform` _Declared by:_ * [devenv/src/modules/integrations/aws-vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/aws-vault.nix) Whether to enable Cachix integration. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/cachix.nix](https://github.com/cachix/devenv/blob/main/src/modules/cachix.nix) The cachix package to use. _Type:_ package _Default:_ `pkgs.cachix` _Example:_ `inputs.devenv.inputs.cachix.packages.${pkgs.stdenv.system}.cachix` _Declared by:_ * [devenv/src/modules/cachix.nix](https://github.com/cachix/devenv/blob/main/src/modules/cachix.nix) Which Cachix caches to pull from. _Type:_ list of string _Default:_ `[ "devenv" ]` _Declared by:_ * [devenv/src/modules/cachix.nix](https://github.com/cachix/devenv/blob/main/src/modules/cachix.nix) Which Cachix cache to push to. This cache is also added to `cachix.pull`. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/cachix.nix](https://github.com/cachix/devenv/blob/main/src/modules/cachix.nix) List of domains to generate certificates for. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "example.com"\ "*.example.com"\ ] _Declared by:_ * [devenv/src/modules/integrations/mkcert.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/mkcert.nix) Whether to enable Claude Code integration with automatic hooks and commands setup. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Custom Claude Code sub-agents to create in the project. Sub-agents are specialized AI assistants that handle specific tasks with their own context window and can be invoked automatically or explicitly. For more details, see: https://docs.anthropic.com/en/docs/claude-code/sub-agents _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { code-reviewer = { description = "Expert code review specialist that checks for quality, security, and best practices"; proactive = true; tools = [ "Read" "Grep" "TodoWrite" ]; prompt = '' You are an expert code reviewer. When reviewing code, check for: - Code readability and maintainability - Proper error handling - Security vulnerabilities - Performance issues - Adherence to project conventions Provide constructive feedback with specific suggestions for improvement. ''; }; test-writer = { description = "Specialized in writing comprehensive test suites"; proactive = false; tools = [ "Read" "Write" "Edit" "Bash" ]; prompt = '' You are a test writing specialist. Create comprehensive test suites that: - Cover edge cases and error conditions - Follow the project's testing conventions - Include unit, integration, and property-based tests where appropriate - Have clear test names that describe what is being tested ''; }; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) What the sub-agent does _Type:_ string _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Whether Claude should use this sub-agent automatically _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) The system prompt for the sub-agent _Type:_ strings concatenated with “\\n” _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) List of allowed tools for this sub-agent _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Custom script for generating authentication tokens. The script should output the API key to stdout. _Type:_ null or string _Default:_ `null` _Example:_ `"aws secretsmanager get-secret-value --secret-id claude-api-key | jq -r .SecretString"` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Retention period for chat transcripts in days. _Type:_ null or signed integer _Default:_ `null` _Example:_ `30` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Custom Claude Code slash commands to create in the project. Commands are invoked with `/command-name` in Claude Code. _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { test = '' Run all tests in the project ```bash cargo test ``` ''; fmt = '' Format all code in the project ```bash cargo fmt nixfmt **/*.nix ``` ''; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Custom environment variables for Claude Code sessions. _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { NODE_ENV = "development"; PYTHONPATH = "/custom/python/path"; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Restrict the login method to either browser or API key authentication. _Type:_ null or one of “browser”, “api-key” _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Hooks that run at different points in Claude Code’s workflow. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { protect-secrets = { enable = true; name = "Protect sensitive files"; hookType = "PreToolUse"; matcher = "^(Edit|MultiEdit|Write)$"; command = '' json=$(cat); file_path = $(echo "$json" | jq - r '.file_path // empty'); grep -q 'SECRET\\|PASSWORD\\|API_KEY' "$file_path" && echo 'Blocked: sensitive data detected' && exit 1 || exit 0 ''; }; run-tests = { enable = true; name = "Run tests after edit"; hookType = "PostToolUse"; matcher = "^(Edit|MultiEdit|Write)$"; command = "cargo test"; }; log-completion = { enable = true; name = "Log when Claude finishes"; hookType = "Stop"; command = "echo 'Claude finished responding' >> claude.log"; }; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Whether to enable this hook. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) The command to execute. _Type:_ string _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) The type of hook: * PreToolUse: Runs before tool calls (can block them) * PostToolUse: Runs after tool calls complete * Notification: Runs when Claude Code sends notifications * Stop: Runs when Claude Code finishes responding * SubagentStop: Runs when subagent tasks complete _Type:_ one of “PreToolUse”, “PostToolUse”, “Notification”, “Stop”, “SubagentStop” _Default:_ `"PostToolUse"` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Regex pattern to match against tool names (for PreToolUse/PostToolUse hooks). _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) The name of the hook (appears in logs). _Type:_ string _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) MCP (Model Context Protocol) servers to configure. These servers provide additional capabilities and context to Claude Code. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { awslabs-iam-mcp-server = { type = "stdio"; command = lib.getExe pkgs.awslabs-iam-mcp-server; args = [ ]; env = { }; }; linear = { type = "http"; url = "https://mcp.linear.app/mcp"; }; devenv = { type = "stdio"; command = "devenv"; args = [ "mcp" ]; env = { DEVENV_ROOT = config.devenv.root; }; }; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Arguments to pass to the command for stdio MCP servers. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Command to execute for stdio MCP servers. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Environment variables for stdio MCP servers. _Type:_ attribute set of string _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Type of MCP server connection. _Type:_ one of “stdio”, “http” _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) URL for HTTP MCP servers. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Override the default Claude model. _Type:_ null or string _Default:_ `null` _Example:_ `"claude-3-opus-20240229"` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Fine-grained permissions for tool usage. Can specify allow/deny rules for different tools. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { Edit = { deny = [ "*.secret" "*.env" ]; }; Bash = { deny = [ "rm -rf" ]; }; } _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) List of allowed tools or patterns. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) List of denied tools or patterns. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/integrations/claude.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/claude.nix) Configurations for NixOS, home-manager, and nix-darwin. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/configurations.nix](https://github.com/cachix/devenv/blob/main/src/modules/configurations.nix) Home Manager configuration for the configuration. _Type:_ null or unspecified value _Default:_ `null` _Example:_ { home.username = "jdoe"; home.homeDirectory = "/home/jdoe"; programs.git.enable = true; } _Declared by:_ * [devenv/src/modules/configurations.nix](https://github.com/cachix/devenv/blob/main/src/modules/configurations.nix) nix-darwin configuration for the configuration. _Type:_ null or unspecified value _Default:_ `null` _Example:_ { pkgs, ... }: { environment.systemPackages = [\ pkgs.vim\ ]; services.nix-daemon.enable = true; } _Declared by:_ * [devenv/src/modules/configurations.nix](https://github.com/cachix/devenv/blob/main/src/modules/configurations.nix) NixOS configuration for the configuration. _Type:_ null or unspecified value _Default:_ `null` _Example:_ { fileSystems."/".device = "/dev/sda1"; boot.loader.systemd-boot.enable = true; services.openssh.enable = true; } _Declared by:_ * [devenv/src/modules/configurations.nix](https://github.com/cachix/devenv/blob/main/src/modules/configurations.nix) System architecture for the configuration. _Type:_ string _Default:_ `pkgs.stdenv.system` _Example:_ `"x86_64-linux"` _Declared by:_ * [devenv/src/modules/configurations.nix](https://github.com/cachix/devenv/blob/main/src/modules/configurations.nix) Set to true when the environment is building a container. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Container specifications that can be built, copied and ran using `devenv container`. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Whether to enable layer deduplication using the approach described at https://blog.eigenvalue.net/2023-nix2container-everything-once/ . _Type:_ boolean _Default:_ `true` _Example:_ `true` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Add a path to the container. Defaults to the whole git repo. _Type:_ absolute path or list of absolute path _Default:_ `self` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Default arguments to pass to `skopeo copy`. You can override them by passing arguments to the script. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Entrypoint of the container. _Type:_ list of anything _Default:_ `[ entrypoint ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Set to true when the environment is building this container. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The layers to create. _Type:_ list of (submodule) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A list of derivations copied to the image root directory. Store path prefixes `/nix/store/hash-path` are removed in order to relocate them to the image `/`. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A list of store paths to include in the layer. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A store path to ignore when building the layer. This is mainly useful to ignore the configuration file from the container layer. _Type:_ null or path in the Nix store _Default:_ `null` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The maximum number of layers to create. _Type:_ signed integer _Default:_ `1` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A list of file permissions which are set when the tar layer is created. These permissions are not written to the Nix store. _Type:_ list of (submodule) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The group ID to apply to all of the files matched by the `regex`. _Type:_ null or signed integer _Default:_ `null` _Example:_ `"1000"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The group name to apply to all of the files matched by the `regex`. _Type:_ null or string _Default:_ `null` _Example:_ `"root"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The numeric permissions mode to apply to all of the files matched by the `regex`. _Type:_ null or string _Default:_ `null` _Example:_ `"644"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A store path. _Type:_ path in the Nix store _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) A regex pattern to select files or directories to apply the `mode` to. _Type:_ null or string _Default:_ `null` _Example:_ `".*"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The user ID to apply to all of the files matched by the `regex`. _Type:_ null or signed integer _Default:_ `null` _Example:_ `"1000"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) The user name to apply to all of the files matched by the `regex`. _Type:_ null or string _Default:_ `null` _Example:_ `"root"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Whether the layer should be reproducible. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Maximum number of container layers created. _Type:_ null or signed integer _Default:_ `1` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Name of the container. _Type:_ null or string _Default:_ `"top-level name or containers.mycontainer.name"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Registry to push the container to. _Type:_ null or string _Default:_ `"docker-daemon:"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Command to run in the container. _Type:_ null or string or package _Default:_ `null` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Version/tag of the container. _Type:_ null or string _Default:_ `"latest"` _Declared by:_ * [devenv/src/modules/containers.nix](https://github.com/cachix/devenv/blob/main/src/modules/containers.nix) Integrate delta into git: https://dandavison.github.io/delta/. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/delta.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/delta.nix) Whether to enable generation .devcontainer.json for devenv integration. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) Devcontainer settings. _Type:_ open submodule of (JSON value) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) A list of pre-installed VS Code extensions. _Type:_ list of string _Default:_ [\ "mkhl.direnv"\ ] _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) The name of an image in a container registry. _Type:_ string _Default:_ `"ghcr.io/cachix/devenv/devcontainer:latest"` _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) Override the default command. _Type:_ anything _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) A command to run after the container is created. _Type:_ anything _Default:_ `"devenv test"` _Declared by:_ * [devenv/src/modules/integrations/devcontainer.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/devcontainer.nix) Whether to enable debug mode of devenv enterShell script. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/debug.nix](https://github.com/cachix/devenv/blob/main/src/modules/debug.nix) Tells if devenv is being imported by a flake.nix file _Type:_ boolean _Default:_ `true` when devenv is invoked via the flake integration; `false` otherwise. _Declared by:_ * [devenv/src/modules/update-check.nix](https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix) Whether the environment is being used for testing. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/tests.nix](https://github.com/cachix/devenv/blob/main/src/modules/tests.nix) The latest version of devenv. _Type:_ string _Default:_ `"1.10"` _Declared by:_ * [devenv/src/modules/update-check.nix](https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix) Whether to warn when a new version of either devenv or the direnv integration is available. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/update-check.nix](https://github.com/cachix/devenv/blob/main/src/modules/update-check.nix) Integrate difftastic into git: https://difftastic.wilfred.me.uk/. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/difftastic.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/difftastic.nix) Whether to enable .env integration, doesn’t support comments or multiline values… _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/dotenv.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/dotenv.nix) Disable the hint that are printed when the dotenv module is not enabled, but .env is present. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/dotenv.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/dotenv.nix) The name of the dotenv file to load, or a list of dotenv files to load in order of precedence. _Type:_ string or list of string _Default:_ `".env"` _Declared by:_ * [devenv/src/modules/integrations/dotenv.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/dotenv.nix) Bash code to execute when entering the shell. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Bash code to execute to run the test. _Type:_ strings concatenated with “\\n” _Declared by:_ * [devenv/src/modules/tests.nix](https://github.com/cachix/devenv/blob/main/src/modules/tests.nix) Environment variables to be exposed inside the developer environment. _Type:_ open submodule of lazy attribute set of anything _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) A set of files that will be linked into devenv root. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) Make the file executable _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) ini contents _Type:_ null or (attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))) _Default:_ `null` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) json contents _Type:_ null or JSON value _Default:_ `null` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) text contents _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) toml contents _Type:_ null or TOML value _Default:_ `null` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) yaml contents _Type:_ null or YAML 1.1 value _Default:_ `null` _Declared by:_ * [devenv/src/modules/files.nix](https://github.com/cachix/devenv/blob/main/src/modules/files.nix) Git repository root path. This field is populated automatically in devenv 1.10 and newer. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/git.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/git.nix) Integration with https://github.com/cachix/git-hooks.nix _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/integrations/git-hooks.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/git-hooks.nix) List of hosts entries. _Type:_ attribute set of (string or list of string) _Default:_ `{ }` _Example:_ { "another-example.com" = [\ "::1"\ "127.0.0.1"\ ]; "example.com" = "127.0.0.1"; } _Declared by:_ * [devenv/src/modules/integrations/hostctl.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/hostctl.nix) Profile name to use. _Type:_ string _Default:_ `"devenv-"` _Declared by:_ * [devenv/src/modules/integrations/hostctl.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/hostctl.nix) Information about the environment _Type:_ attribute set of list of string _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/info.nix](https://github.com/cachix/devenv/blob/main/src/modules/info.nix) A list of derivations whose build inputs will be merged into the shell environment. _Type:_ list of package _Default:_ `[ ]` _Example:_ [\ pkgs.hello\ (pkgs.python3.withPackages (ps: [ ps.numpy ps.pandas ]))\ ] _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Whether to enable tools for Ansible development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/ansible.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ansible.nix) The Ansible package to use. _Type:_ package _Default:_ `pkgs.ansible` _Declared by:_ * [devenv/src/modules/languages/ansible.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ansible.nix) Whether to enable tools for C development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/c.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/c.nix) An optional debugger package to use with c. The default is `gdb`, if supported on the current system. _Type:_ null or package _Default:_ `pkgs.gdb` _Declared by:_ * [devenv/src/modules/languages/c.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/c.nix) Whether to enable tools for Clojure development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/clojure.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/clojure.nix) Whether to enable tools for C++ development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) Whether to enable Enable tools for Crystal development… _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/crystal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/crystal.nix) The Crystal package to use. _Type:_ package _Default:_ `pkgs.crystal` _Declared by:_ * [devenv/src/modules/languages/crystal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/crystal.nix) Configuration for shards _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/languages/crystal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/crystal.nix) The Shards package to use. _Type:_ package _Default:_ `pkgs.shards` _Declared by:_ * [devenv/src/modules/languages/crystal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/crystal.nix) Whether to enable tools for Cue development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/cue.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cue.nix) The CUE package to use. _Type:_ package _Default:_ `pkgs.cue` _Declared by:_ * [devenv/src/modules/languages/cue.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cue.nix) Whether to enable tools for Dart development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/dart.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/dart.nix) The Dart package to use. _Type:_ package _Default:_ `pkgs.dart` _Declared by:_ * [devenv/src/modules/languages/dart.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/dart.nix) Whether to enable tools for Deno development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/deno.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/deno.nix) Which package of Deno to use. _Type:_ package _Default:_ `pkgs.deno` _Declared by:_ * [devenv/src/modules/languages/deno.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/deno.nix) Whether to enable tools for .NET development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/dotnet.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/dotnet.nix) The .NET SDK package to use. _Type:_ package _Default:_ `pkgs.dotnet-sdk` _Declared by:_ * [devenv/src/modules/languages/dotnet.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/dotnet.nix) Whether to enable tools for Elixir development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/elixir.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/elixir.nix) Which Elixir package to use. _Type:_ package _Default:_ `pkgs.elixir` _Declared by:_ * [devenv/src/modules/languages/elixir.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/elixir.nix) Whether to enable tools for Elm development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/elm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/elm.nix) Whether to enable tools for Erlang development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/erlang.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/erlang.nix) Which Erlang package to use. _Type:_ package _Default:_ `pkgs.erlang` _Declared by:_ * [devenv/src/modules/languages/erlang.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/erlang.nix) Whether to enable tools for Fortran Development… _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/fortran.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/fortran.nix) The Fortran package to use. _Type:_ package _Default:_ `pkgs.gfortran` _Declared by:_ * [devenv/src/modules/languages/fortran.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/fortran.nix) Whether to enable tools for GNU Awk development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/gawk.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/gawk.nix) Whether to enable tools for Gleam development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/gleam.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/gleam.nix) The Gleam package to use. _Type:_ package _Default:_ `pkgs.gleam` _Declared by:_ * [devenv/src/modules/languages/gleam.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/gleam.nix) Whether to enable tools for Go development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/go.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/go.nix) Enable hardening workaround required for Delve debugger (https://github.com/go-delve/delve/issues/3085) _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/go.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/go.nix) The Go package to use. _Type:_ package _Default:_ `pkgs.go` _Declared by:_ * [devenv/src/modules/languages/go.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/go.nix) Whether to enable tools for Haskell development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Haskell compiler to use. _Type:_ package _Default:_ `pkgs.ghc` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Whether to enable Cabal. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Cabal package to use. _Type:_ package _Default:_ `pkgs.cabal-install` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Haskell language server to use. _Type:_ null or package _Default:_ `pkgs.haskell-language-server` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Whether to enable the Haskell Stack _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Haskell stack package to use. _Type:_ package _Default:_ `pkgs.stack` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Additional arguments to pass to stack. By default, stack is configured to use devenv’s GHC installation. _Type:_ list of string _Default:_ `[ "--no-nix" "--system-ghc" "--no-install-ghc" ]` _Declared by:_ * [devenv/src/modules/languages/haskell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/haskell.nix) Whether to enable tools for Helm development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/helm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/helm.nix) The Helm package to use. _Type:_ package _Default:_ `pkgs.kubernetes-helm` _Declared by:_ * [devenv/src/modules/languages/helm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/helm.nix) Whether to enable Helm language server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/helm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/helm.nix) The Helm language server package to include. _Type:_ package _Default:_ `pkgs.helm-ls` _Declared by:_ * [devenv/src/modules/languages/helm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/helm.nix) List of Helm plugin names to include from pkgs.kubernetes-helmPlugins. They will be symlinked into one directory and exposed via HELM\_PLUGINS. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "helm-secrets"\ "helm-diff"\ "helm-unittest"\ ] _Declared by:_ * [devenv/src/modules/languages/helm.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/helm.nix) Whether to enable tools for Idris development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/idris.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/idris.nix) The Idris package to use. _Type:_ package _Default:_ `pkgs.idris2` _Example:_ `pkgs.idris` _Declared by:_ * [devenv/src/modules/languages/idris.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/idris.nix) Whether to enable tools for Java development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) Whether to enable gradle. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) The Gradle package to use. The Gradle package by default inherits the JDK from `languages.java.jdk.package`. _Type:_ package _Default:_ `pkgs.gradle.override { java = cfg.jdk.package; }` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) The JDK package to use. This will also become available as `JAVA_HOME`. _Type:_ package _Default:_ `pkgs.jdk` _Example:_ `pkgs.jdk8` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) Whether to enable maven. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) The Maven package to use. The Maven package by default inherits the JDK from `languages.java.jdk.package`. _Type:_ package _Default:_ `pkgs.maven.override { jdk_headless = cfg.jdk.package; }` _Declared by:_ * [devenv/src/modules/languages/java.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/java.nix) Whether to enable tools for JavaScript development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The Node.js package to use. _Type:_ package _Default:_ `pkgs.nodejs-slim` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable install bun. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The bun package to use. _Type:_ package _Default:_ `pkgs.bun` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable bun install during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable wrappers for npm, pnpm and Yarn via Node.js Corepack. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The JavaScript project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project. _Type:_ string _Default:_ `config.devenv.root` _Example:_ `"./directory"` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable install npm. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The Node.js package to use. _Type:_ package _Default:_ `languages.javascript.package` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable npm install during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable install pnpm. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The pnpm package to use. _Type:_ package _Default:_ `pkgs.nodePackages.pnpm` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable pnpm install during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable install yarn. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) The yarn package to use. _Type:_ package _Default:_ `pkgs.yarn` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable yarn install during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/javascript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/javascript.nix) Whether to enable tools for jsonnet development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/jsonnet.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/jsonnet.nix) Whether to enable tools for Julia development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/julia.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/julia.nix) The Julia package to use. _Type:_ package _Default:_ `pkgs.julia-bin` _Declared by:_ * [devenv/src/modules/languages/julia.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/julia.nix) Whether to enable tools for Kotlin development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/kotlin.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/kotlin.nix) Whether to enable tools for lean4 development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/lean4.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/lean4.nix) The lean4 package to use. _Type:_ package _Default:_ `pkgs.lean4` _Declared by:_ * [devenv/src/modules/languages/lean4.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/lean4.nix) Whether to enable tools for Lua development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/lua.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/lua.nix) The Lua package to use. _Type:_ package _Default:_ `pkgs.lua` _Declared by:_ * [devenv/src/modules/languages/lua.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/lua.nix) Whether to enable tools for Nim development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/nim.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/nim.nix) The Nim package to use. _Type:_ package _Default:_ `pkgs.nim` _Declared by:_ * [devenv/src/modules/languages/nim.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/nim.nix) Whether to enable tools for Nix development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/nix.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/nix.nix) The LSP package to use _Type:_ package _Default:_ `pkgs.nil` _Declared by:_ * [devenv/src/modules/languages/nix.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/nix.nix) Whether to enable tools for OCaml development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/ocaml.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ocaml.nix) The package set of OCaml to use _Type:_ attribute set _Default:_ `pkgs.ocaml-ng.ocamlPackages_4_12` _Declared by:_ * [devenv/src/modules/languages/ocaml.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ocaml.nix) Whether to enable tools for Odin Language. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/odin.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/odin.nix) The odin package to use. _Type:_ package _Default:_ `pkgs.odin` _Declared by:_ * [devenv/src/modules/languages/odin.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/odin.nix) An optional debugger package to use with odin. The default is `gdb`, if supported on the current system. _Type:_ null or package _Default:_ `pkgs.gdb` _Declared by:_ * [devenv/src/modules/languages/odin.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/odin.nix) Whether to enable tools for OpenTofu development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/opentofu.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/opentofu.nix) The OpenTofu package to use. _Type:_ package _Default:_ `pkgs.opentofu` _Declared by:_ * [devenv/src/modules/languages/opentofu.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/opentofu.nix) Whether to enable tools for Pascal development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/pascal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/pascal.nix) Whether to enable lazarus graphical IDE for the FreePascal language. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/pascal.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/pascal.nix) Whether to enable tools for Perl development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/perl.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/perl.nix) Perl packages to include _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "Mojolicious"\ ] _Declared by:_ * [devenv/src/modules/languages/perl.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/perl.nix) Whether to enable tools for PHP development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Allows you to [override the default used package](https://nixos.org/manual/nixpkgs/stable/#ssec-php-user-guide) to adjust the settings or add more extensions. You can find the extensions using `devenv search 'php extensions'` _Type:_ package _Default:_ `pkgs.php` _Example:_ pkgs.php.buildEnv { extensions = { all, enabled }: with all; enabled ++ [ xdebug ]; extraConfig = '' memory_limit=1G ''; }; _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Attribute set of packages including composer _Type:_ submodule _Default:_ `pkgs` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) composer package _Type:_ null or package _Default:_ `pkgs.phpPackages.composer` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP extensions to disable. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP extensions to enable. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Extra configuration that should be put in the global section of the PHP-FPM configuration file. Do not specify the options `error_log` or `daemonize` here, since they are generated by NixOS. _Type:_ null or strings concatenated with “\\n” _Default:_ `null` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Options appended to the PHP configuration file `php.ini`. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ '' date.timezone = "CET" '' _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP-FPM pools. If no pools are defined, the PHP-FPM service is disabled. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { mypool = { user = "php"; group = "php"; phpPackage = pkgs.php; settings = { "pm" = "dynamic"; "pm.max_children" = 75; "pm.start_servers" = 10; "pm.min_spare_servers" = 5; "pm.max_spare_servers" = 20; "pm.max_requests" = 500; }; } } _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Extra lines that go into the pool configuration. See the documentation on `php-fpm.conf` for details on configuration directives. _Type:_ null or strings concatenated with “\\n” _Default:_ `null` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) The address on which to accept FastCGI requests. _Type:_ string _Default:_ `""` _Example:_ `"/path/to/unix/socket"` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Environment variables used for this PHP-FPM pool. _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { HOSTNAME = "$HOSTNAME"; TMP = "/tmp"; TMPDIR = "/tmp"; TEMP = "/tmp"; } _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Options appended to the PHP configuration file `php.ini` used for this PHP-FPM pool. _Type:_ strings concatenated with “\\n” _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) The PHP package to use for running this PHP-FPM pool. _Type:_ package _Default:_ `phpfpm.phpPackage` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP-FPM pool directives. Refer to the “List of pool directives” section of [https://www.php.net/manual/en/install.fpm.configuration.php"](https://www.php.net/manual/en/install.fpm.configuration.php%22) the manual for details. Note that settings names must be enclosed in quotes (e.g. `"pm.max_children"` instead of `pm.max_children`). _Type:_ attribute set of (string or signed integer or boolean) _Default:_ `{ }` _Example:_ { "pm" = "dynamic"; "pm.max_children" = 75; "pm.start_servers" = 10; "pm.min_spare_servers" = 5; "pm.max_spare_servers" = 20; "pm.max_requests" = 500; } _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Path to the Unix socket file on which to accept FastCGI requests. This option is read-only and managed by NixOS. _Type:_ string _(read only)_ _Example:_ `config.env.DEVENV_STATE + "/php-fpm/.sock"` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP-FPM global directives. Refer to the “List of global php-fpm.conf directives” section of [https://www.php.net/manual/en/install.fpm.configuration.php](https://www.php.net/manual/en/install.fpm.configuration.php) for details. Note that settings names must be enclosed in quotes (e.g. `"pm.max_children"` instead of `pm.max_children`). You need not specify the options `error_log` or `daemonize` here, since they are already set. _Type:_ attribute set of (string or signed integer or boolean) _Default:_ { error_log = config.env.DEVENV_STATE + "/php-fpm/php-fpm.log"; } _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) PHP.ini directives. Refer to the “List of php.ini directives” of PHP’s _Type:_ null or strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) The PHP version to use. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/languages/php.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/php.nix) Whether to enable tools for PureScript development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/purescript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/purescript.nix) The PureScript package to use. _Type:_ package _Default:_ `pkgs.purescript` _Declared by:_ * [devenv/src/modules/languages/purescript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/purescript.nix) Whether to enable tools for Python development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) The Python package to use. _Type:_ package _Default:_ `pkgs.python3` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) The Python project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project. _Type:_ string _Default:_ `config.devenv.root` _Example:_ `"./directory"` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Additional libraries to make available to the Python interpreter. This is useful when you want to use Python wheels that depend on native libraries. _Type:_ list of absolute path _Default:_ [ "${config.devenv.dotfile}/profile" ] _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to install manylinux2014 libraries. Enabled by default on linux; This is useful when you want to use Python wheels that depend on manylinux2014 libraries. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to apply fixes to Python’s `buildEnv` for correct runtime initialization: * Executables use `--inherit-argv0` and `--resolve-argv0` to ensure Python initializes with correct `sys.prefix` and `sys.base_prefix` * Python package scripts are unwrapped to invoke the environment’s interpreter directly Without these fixes, venvs cannot access environment packages via `--system-site-packages`. Enabled by default. Newer nixpkgs releases may include upstream fixes that make this patch obsolete. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable poetry. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) The Poetry package to use. _Type:_ package _Default:_ `pkgs.poetry` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to activate the poetry virtual environment automatically. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable poetry install during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to install all extras. See `--all-extras`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to install all groups. See `--all-groups`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether `poetry install` should compile Python source files to bytecode. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which extras to install. See `--extras`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which dependency groups to install. See `--with`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which dependency groups to ignore. See `--without`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether the root package (your project) should be installed. See `--no-root` _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which dependency groups to exclusively install. See `--only`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to only install the root package (your project) should be installed, but no dependencies. See `--only-root` _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether `poetry install` should avoid outputting messages during devenv initialisation. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) What level of verbosity the output of `poetry install` should have. _Type:_ one of “no”, “little”, “more”, “debug” _Default:_ `"no"` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable uv. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) The uv package to use. _Type:_ package _Default:_ `pkgs.uv` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable uv sync during devenv initialisation. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Sync for specific packages in the workspace. See `--package`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to install all extras. See `--all-extras`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to install all groups. See `--all-groups`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Sync all packages in the workspace. See `--all-packages`. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Command line arguments pass to `uv sync` during devenv initialisation. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which extras to install. See `--extra`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Which dependency groups to install. See `--group`. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable Python virtual environment. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether `pip install` should avoid outputting messages during devenv initialisation. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Contents of pip requirements.txt file. This is passed to `pip install -r` during `devenv shell` initialisation. _Type:_ null or strings concatenated with “\\n” or absolute path _Default:_ `null` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) The Python version to use. This automatically sets the `languages.python.package` using [nixpkgs-python](https://github.com/cachix/nixpkgs-python) . _Type:_ null or string _Default:_ `null` _Example:_ `"3.11 or 3.11.2"` _Declared by:_ * [devenv/src/modules/languages/python](https://github.com/cachix/devenv/blob/main/src/modules/languages/python) Whether to enable tools for R development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/r.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix) The R package to use. _Type:_ package _Default:_ `pkgs.R` _Declared by:_ * [devenv/src/modules/languages/r.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix) Whether to enable a 21 century R console. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/r.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix) The radian package to use. _Type:_ package _Default:_ `pkgs.radianWrapper` _Declared by:_ * [devenv/src/modules/languages/r.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/r.nix) Whether to enable tools for Racket development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/racket.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/racket.nix) The Racket package to use. _Type:_ package _Default:_ `pkgs.racket-minimal` _Declared by:_ * [devenv/src/modules/languages/racket.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/racket.nix) Whether to enable tools for Raku development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/raku.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/raku.nix) Whether to enable tools for Robot Framework development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/robotframework.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/robotframework.nix) The Python package to use. _Type:_ package _Default:_ `pkgs.python3` _Declared by:_ * [devenv/src/modules/languages/robotframework.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/robotframework.nix) Whether to enable tools for Ruby development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) The Ruby package to use. _Type:_ package _Default:_ `pkgs.ruby` _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) Whether to enable bundler. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) The bundler package to use. _Type:_ package _Default:_ `pkgs.bundler.override { ruby = cfg.package; }` _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) The Ruby version to use. This automatically sets the `languages.ruby.package` using [nixpkgs-ruby](https://github.com/bobvanderlinden/nixpkgs-ruby) . _Type:_ null or string _Default:_ `null` _Example:_ `"3.2.1"` _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) The .ruby-version file path to extract the Ruby version from. This automatically sets the `languages.ruby.package` using [nixpkgs-ruby](https://github.com/bobvanderlinden/nixpkgs-ruby) . When the `.ruby-version` file exists in the same directory as the devenv configuration, you can use: languages.ruby.versionFile = ./.ruby-version; _Type:_ null or absolute path _Default:_ `null` _Example:_ ./.ruby-version _Declared by:_ * [devenv/src/modules/languages/ruby.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/ruby.nix) Whether to enable tools for Rust development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) The rustup toolchain to install. _Type:_ one of “nixpkgs”, “stable”, “beta”, “nightly” _Default:_ `"nixpkgs"` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) List of [Rustup components](https://rust-lang.github.io/rustup/concepts/components.html) to install. Defaults to those available in `nixpkgs`. _Type:_ list of string _Default:_ `[ "rustc" "cargo" "clippy" "rustfmt" "rust-analyzer" ]` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Import a Cargo project using cargo2nix. This function takes a path to a directory containing a Cargo.toml file and returns a derivation that builds the Rust project using cargo2nix. Example usage: let mypackage = config.languages.rust.import ./path/to/cargo/project {}; in { languages.rust.enable = true; packages = [ mypackage ]; } _Type:_ function that evaluates to a(n) function that evaluates to a(n) package _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Use [mold](https://github.com/rui314/mold) as the linker. mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Extra flags to pass to the Rust compiler. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) List of extra [targets](https://doc.rust-lang.org/nightly/rustc/platform-support.html) to install. Defaults to only the native target. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Rust component packages. May optionally define additional components, for example `miri`. _Type:_ open submodule of attribute set of package _Default:_ `nixpkgs` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) cargo package _Type:_ null or package _Default:_ `pkgs.cargo` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) clippy package _Type:_ null or package _Default:_ `pkgs.clippy` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) rust-analyzer package _Type:_ null or package _Default:_ `pkgs.rust-analyzer` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) rustc package _Type:_ null or package _Default:_ `pkgs.rustc` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) rustfmt package _Type:_ null or package _Default:_ `pkgs.rustfmt` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Path to a `rust-toolchain` or `rust-toolchain.toml` file for automatic toolchain configuration. When set, devenv will use rust-overlay’s `fromRustupToolchainFile` to automatically configure the toolchain based on the file contents (channel, components, targets, profile). This follows the standard Rust toolchain file format documented at: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file Cannot be used together with manual `channel` or `version` configuration. Example: languages.rust.toolchainFile = ./rust-toolchain.toml; _Type:_ null or absolute path _Default:_ `null` _Example:_ `./rust-toolchain.toml` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) The aggregated toolchain package, which includes the configured components and targets. This is automatically set based on the channel and components configuration. _Type:_ package _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Which version of rust to use, this value could be `latest`,`1.81.0`, `2021-01-01`. Only works when languages.rust.channel is NOT nixpkgs. _Type:_ string _Default:_ `"latest"` _Declared by:_ * [devenv/src/modules/languages/rust.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/rust.nix) Whether to enable tools for Scala development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) The Scala package to use. _Type:_ package _Default:_ `pkgs.scala_3` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) Whether to enable mill, a simplified, fast build tool for Scala. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) The mill package to use. _Type:_ package _Default:_ `pkgs.mill` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) Whether to enable sbt, the standard build tool for Scala. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) The sbt package to use. _Type:_ package _Default:_ `pkgs.sbt` _Example:_ `sbt-with-scala-native` _Declared by:_ * [devenv/src/modules/languages/scala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/scala.nix) Whether to enable tools for shell development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/shell.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/shell.nix) Whether to enable tools for Solidity development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/solidity.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/solidity.nix) Which compiler of Solidity to use. _Type:_ package _Default:_ `pkgs.solc` _Declared by:_ * [devenv/src/modules/languages/solidity.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/solidity.nix) Whether to enable install Foundry. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/solidity.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/solidity.nix) Which Foundry package to use. _Type:_ package _Default:_ `foundry.defaultPackage.$${pkgs.stdenv.system}` _Declared by:_ * [devenv/src/modules/languages/solidity.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/solidity.nix) Whether to enable tools for Standard ML development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/standardml.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/standardml.nix) The Standard ML package to use. _Type:_ package _Default:_ `pkgs.mlton` _Declared by:_ * [devenv/src/modules/languages/standardml.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/standardml.nix) Whether to enable tools for Swift development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/swift.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/swift.nix) The Swift package to use. _Type:_ package _Default:_ `pkgs.swift` _Declared by:_ * [devenv/src/modules/languages/swift.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/swift.nix) Whether to enable tools for Terraform development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/terraform.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/terraform.nix) The Terraform package to use. _Type:_ package _Default:_ `pkgs.terraform` _Declared by:_ * [devenv/src/modules/languages/terraform.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/terraform.nix) The Terraform version to use. This automatically sets the `languages.terraform.package` using [nixpkgs-terraform](https://github.com/stackbuilders/nixpkgs-terraform) . _Type:_ null or string _Default:_ `null` _Example:_ `"1.5.0 or 1.6.2"` _Declared by:_ * [devenv/src/modules/languages/terraform.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/terraform.nix) Whether to enable TeX Live. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/texlive.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix) Extra packages to add to the base TeX Live set _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "algorithms"\ "latexmk"\ ] _Declared by:_ * [devenv/src/modules/languages/texlive.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix) TeX Live package set to use _Type:_ unspecified value _Default:_ `pkgs.texliveSmall` _Example:_ `pkgs.texliveBasic` _Declared by:_ * [devenv/src/modules/languages/texlive.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/texlive.nix) Whether to enable tools for TypeScript development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/typescript.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/typescript.nix) Whether to enable tools for Typst development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/typst.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/typst.nix) Which package of Typst to use. _Type:_ package _Default:_ `pkgs.typst` _Declared by:_ * [devenv/src/modules/languages/typst.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/typst.nix) Directories to be searched for fonts. _Type:_ list of string _Default:_ `[]` _Example:_ `[ "${pkgs.roboto}/share/fonts/truetype" ]` _Declared by:_ * [devenv/src/modules/languages/typst.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/typst.nix) Whether to enable tools for Unison development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/unison.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/unison.nix) Which package of Unison to use _Type:_ package _Default:_ `pkgs.unison-ucm` _Declared by:_ * [devenv/src/modules/languages/unison.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/unison.nix) Whether to enable tools for V development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/v.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/v.nix) The V package to use. _Type:_ package _Default:_ `pkgs.vlang` _Declared by:_ * [devenv/src/modules/languages/v.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/v.nix) Whether to enable tools for Vala development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/vala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/vala.nix) The Vala package to use. _Type:_ package _Default:_ `pkgs.vala` _Example:_ `pkgs.vala_0_54` _Declared by:_ * [devenv/src/modules/languages/vala.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/vala.nix) Whether to enable tools for Zig development. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/languages/zig.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/zig.nix) Which package of Zig to use. _Type:_ package _Default:_ `pkgs.zig` _Declared by:_ * [devenv/src/modules/languages/zig.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/zig.nix) Which package of zls to use. _Type:_ package _Default:_ `pkgs.zls` _Declared by:_ * [devenv/src/modules/languages/zig.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/zig.nix) Name of the project. _Type:_ null or string _Default:_ `"devenv-shell"` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Nix outputs for `devenv build` consumption. _Type:_ outputOf (attribute set) _Default:_ `{ }` _Example:_ { git = pkgs.git; foo = { ncdu = pkgs.ncdu; }; } _Declared by:_ * [devenv/src/modules/outputs.nix](https://github.com/cachix/devenv/blob/main/src/modules/outputs.nix) List of overlays to apply to pkgs. Each overlay is a function that takes two arguments: final and prev. Supported by devenv 1.4.2 or newer. _Type:_ list of function that evaluates to a(n) function that evaluates to a(n) (attribute set) _Default:_ `[ ]` _Example:_ [\ (final: prev: {\ hello = prev.hello.overrideAttrs (oldAttrs: {\ patches = (oldAttrs.patches or []) ++ [ ./hello-fix.patch ];\ });\ })\ ] _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) Bash code to execute after stopping processes. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) Additional arguments to pass to the process manager. _Type:_ attribute set _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) Bash code to execute before starting processes. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) The process manager to use when running processes with `devenv up`. _Type:_ one of “hivemind”, “honcho”, “mprocs”, “overmind”, “process-compose” _Default:_ `"process-compose"` _Example:_ `"overmind"` _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) The hivemind package to use. _Type:_ package _Default:_ `pkgs.hivemind` _Declared by:_ * [devenv/src/modules/process-managers/hivemind.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/hivemind.nix) The honcho package to use. _Type:_ package _Default:_ `pkgs.honcho` _Declared by:_ * [devenv/src/modules/process-managers/honcho.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/honcho.nix) The mprocs package to use. _Type:_ package _Default:_ `pkgs.mprocs` _Declared by:_ * [devenv/src/modules/process-managers/mprocs.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/mprocs.nix) Top-level mprocs.yaml options https://github.com/pvolok/mprocs?tab=readme-ov-file#config _Type:_ YAML 1.1 value _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/process-managers/mprocs.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/mprocs.nix) The overmind package to use. _Type:_ package _Default:_ `pkgs.overmind` _Declared by:_ * [devenv/src/modules/process-managers/overmind.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/overmind.nix) The process-compose package to use. _Type:_ package _Default:_ `pkgs.process-compose` _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) The port to bind the process-compose server to. Not used when `unixSocket.enable` is true. _Type:_ signed integer _Default:_ `8080` _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) Top-level process-compose.yaml options Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml\` _Type:_ YAML 1.1 value _Default:_ `{ }` _Example:_ { availability = { backoff_seconds = 2; max_restarts = 5; restart = "on_failure"; }; depends_on = { some-other-process = { condition = "process_completed_successfully"; }; }; environment = [\ "ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"\ ]; } _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) Enable the TUI (Terminal User Interface) _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) Whether to enable running the process-compose server over unix domain sockets instead of tcp. _Type:_ boolean _Default:_ `true` _Example:_ `true` _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) Override the path to the unix socket. _Type:_ string _Default:_ `${config.devenv.runtime}/pc.sock` _Declared by:_ * [devenv/src/modules/process-managers/process-compose.nix](https://github.com/cachix/devenv/blob/main/src/modules/process-managers/process-compose.nix) Processes can be started with `devenv up` and run in the foreground. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) Working directory to run the process in. If not specified, the current working directory will be used. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) Bash code to run the process. _Type:_ string _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) process-compose.yaml specific process attributes. Example: https://github.com/F1bonacc1/process-compose/blob/main/process-compose.yaml\` Only used when using `process.manager.implementation = "process-compose";` _Type:_ YAML 1.1 value _Default:_ `{ }` _Example:_ { availability = { backoff_seconds = 2; max_restarts = 5; restart = "on_failure"; }; depends_on = { some-other-process = { condition = "process_completed_successfully"; }; }; environment = [\ "ENVVAR_FOR_THIS_PROCESS_ONLY=foobar"\ ]; } _Declared by:_ * [devenv/src/modules/processes.nix](https://github.com/cachix/devenv/blob/main/src/modules/processes.nix) Profile definitions that can be activated manually or automatically. _Type:_ open submodule of lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ { # Manual profiles (activated via --profile) "base" = { module = { languages.nix.enable = true; packages = [ pkgs.git ]; }; }; "python-3.14" = { extends = [ "base" ]; module = { languages.python.version = "3.14"; }; }; "backend" = { extends = [ "base" ]; module = { services.postgres.enable = true; services.redis.enable = true; }; }; "fullstack" = { extends = [ "backend" "python-3.14" ]; module = { env.FULL_STACK = "true"; }; }; # Automatic hostname-based profiles hostname."work-laptop" = { extends = [ "backend" ]; module = { env.WORK_ENV = "true"; }; }; # Automatic user-based profiles user."alice" = { extends = [ "python-3.14" ]; module = { env.USER_ROLE = "developer"; }; }; } _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) Profile definitions that are automatically activated based on the machine’s hostname. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) List of profile names to extend/inherit from. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "base"\ "backend"\ ] _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) Additional configuration to merge when this profile is active. _Type:_ module _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) Profile definitions that are automatically activated based on the username. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) List of profile names to extend/inherit from. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "base"\ "backend"\ ] _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) Additional configuration to merge when this profile is active. _Type:_ module _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/profiles.nix](https://github.com/cachix/devenv/blob/main/src/modules/profiles.nix) A set of scripts available when the environment is active. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) The package to use to run the script. _Type:_ package _Default:_ `pkgs.bash` _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) Packages to be available in PATH when the script runs. _Type:_ list of package _Default:_ `[]` _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) Override the binary name from the default `package.meta.mainProgram` _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) Description of the script. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) Shell code to execute when the script is run, or path to a script file. _Type:_ string or absolute path _Declared by:_ * [devenv/src/modules/scripts.nix](https://github.com/cachix/devenv/blob/main/src/modules/scripts.nix) Whether secretspec integration is enabled (automatically true when secrets are loaded) _Type:_ boolean _(read only)_ _Default:_ `false` _Declared by:_ * [devenv/src/modules/integrations/secretspec.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/secretspec.nix) The secretspec profile that was used to load secrets (read-only) _Type:_ null or string _(read only)_ _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/secretspec.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/secretspec.nix) The secretspec provider that was used to load secrets (read-only) _Type:_ null or string _(read only)_ _Default:_ `null` _Declared by:_ * [devenv/src/modules/integrations/secretspec.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/secretspec.nix) Secrets loaded from secretspec.toml (read-only) _Type:_ attribute set of string _(read only)_ _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/integrations/secretspec.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/secretspec.nix) Whether to enable Adminer process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/adminer.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix) Which package of Adminer to use. _Type:_ package _Default:_ `pkgs.adminer` _Declared by:_ * [devenv/src/modules/services/adminer.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix) Listen address for the Adminer. _Type:_ string _Default:_ `"127.0.0.1:8080"` _Declared by:_ * [devenv/src/modules/services/adminer.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/adminer.nix) Whether to enable Blackfire profiler agent It automatically installs Blackfire PHP extension. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Whether to enable Enables application performance monitoring, requires special subscription. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Which package of blackfire to use _Type:_ package _Default:_ `pkgs.blackfire` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Sets the client id used to authenticate with Blackfire. You can find your personal client-id at [https://blackfire.io/my/settings/credentials](https://blackfire.io/my/settings/credentials) . _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Sets the client token used to authenticate with Blackfire. You can find your personal client-token at [https://blackfire.io/my/settings/credentials](https://blackfire.io/my/settings/credentials) . _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Sets the server id used to authenticate with Blackfire. You can find your personal server-id at [https://blackfire.io/my/settings/credentials](https://blackfire.io/my/settings/credentials) . _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Sets the server token used to authenticate with Blackfire. You can find your personal server-token at [https://blackfire.io/my/settings/credentials](https://blackfire.io/my/settings/credentials) . _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Sets the server socket path _Type:_ string _Default:_ `"tcp://127.0.0.1:8307"` _Declared by:_ * [devenv/src/modules/services/blackfire.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/blackfire.nix) Whether to enable Caddy web server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Caddy package to use. _Type:_ package _Default:_ `pkgs.caddy` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Name of the config adapter to use. See [https://caddyserver.com/docs/config-adapters](https://caddyserver.com/docs/config-adapters) for the full list. _Type:_ string _Default:_ `"caddyfile"` _Example:_ `"nginx"` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Certificate authority ACME server. The default (Let’s Encrypt production server) should be fine for most people. Set it to null if you don’t want to include any authority (or if you want to write a more fine-graned configuration manually). _Type:_ null or string _Default:_ `"https://acme-v02.api.letsencrypt.org/directory"` _Example:_ `"https://acme-staging-v02.api.letsencrypt.org/directory"` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Verbatim Caddyfile to use. Refer to [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile) for more information. Caddy v2 supports multiple config formats via adapters (see [`services.caddy.adapter`](https://devenv.sh/reference/options/#servicescaddyconfig) ). _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ '' # Global options block { debug } # Site block example.com { encode gzip log root /srv/http } '' _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) The data directory, for storing certificates. Before 17.09, this would create a .caddy directory. With 17.09 the contents of the .caddy directory are in the specified data directory instead. Caddy v2 replaced CADDYPATH with XDG directories. See [https://caddyserver.com/docs/conventions#file-locations](https://caddyserver.com/docs/conventions#file-locations) . _Type:_ absolute path _Default:_ `"${config.env.DEVENV_STATE}/caddy"` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Email address (for Let’s Encrypt certificate). _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Use saved config, if any (and prefer over configuration passed with [`caddy.config`](https://devenv.sh/reference/options/#servicescaddyconfig) ). _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Declarative vhost config. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { "hydra.example.com" = { serverAliases = [ "www.hydra.example.com" ]; extraConfig = '''' encode gzip log root /srv/http ''''; }; }; _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) These lines go into the vhost verbatim. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Additional names of virtual hosts served by this virtual host configuration. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "www.example.org"\ "example.org"\ ] _Declared by:_ * [devenv/src/modules/services/caddy.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/caddy.nix) Whether to enable Add Cassandra process script… _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Which version of Cassandra to use _Type:_ package _Default:_ `pkgs.cassandra_4` _Example:_ `pkgs.cassandra_4;` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Enables or disables the native transport server (CQL binary protocol) _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) The name of the cluster _Type:_ string _Default:_ `"Test Cluster"` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Extra options to be merged into `cassandra.yaml` as nix attribute set. _Type:_ attribute set _Default:_ `{ }` _Example:_ { commitlog_sync_batch_window_in_ms = 3; } _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Options to pass to the JVM through the JVM\_OPTS environment variable _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Listen address _Type:_ string _Default:_ `"127.0.0.1"` _Example:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) The addresses of hosts designated as contact points of the cluster _Type:_ list of string _Default:_ [\ "127.0.0.1"\ ] _Declared by:_ * [devenv/src/modules/services/cassandra.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cassandra.nix) Whether to enable clickhouse-server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/clickhouse.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/clickhouse.nix) Which package of clickhouse to use _Type:_ package _Default:_ `pkgs.clickhouse` _Declared by:_ * [devenv/src/modules/services/clickhouse.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/clickhouse.nix) ClickHouse configuration in YAML. _Type:_ strings concatenated with “\\n” _Declared by:_ * [devenv/src/modules/services/clickhouse.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/clickhouse.nix) Which http port to run clickhouse on _Type:_ signed integer _Default:_ `8123` _Declared by:_ * [devenv/src/modules/services/clickhouse.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/clickhouse.nix) Which port to run clickhouse on _Type:_ signed integer _Default:_ `9000` _Declared by:_ * [devenv/src/modules/services/clickhouse.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/clickhouse.nix) Whether to enable Add CockroachDB process. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/cockroachdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cockroachdb.nix) The CockroachDB package to use. _Type:_ unspecified value _Default:_ `pkgs.cockroachdb-bin` _Declared by:_ * [devenv/src/modules/services/cockroachdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cockroachdb.nix) The hostname or IP address to bind to for HTTP requests. _Type:_ string _Default:_ `"localhost:8080"` _Declared by:_ * [devenv/src/modules/services/cockroachdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cockroachdb.nix) The address/hostname and port to listen on. _Type:_ string _Default:_ `"localhost:26257"` _Declared by:_ * [devenv/src/modules/services/cockroachdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/cockroachdb.nix) Whether to enable CouchDB process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Which version of CouchDB to use _Type:_ package _Default:_ `pkgs.couchdb3` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) The directory where CouchDB will store its data. _Type:_ string _(read only)_ _Default:_ `config.env.DEVENV_STATE + "/couchdb"` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) CouchDB configuration. to know more about all settings, look at: _Type:_ open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) _Default:_ `{ }` _Example:_ { couchdb = { database_dir = baseDir; single_node = true; view_index_dir = baseDir; uri_file = "${config.services.couchdb.baseDir}/couchdb.uri"; }; admins = { "admin_username" = "pass"; }; chttpd = { bind_address = "127.0.0.1"; port = 5984; }; } _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Defines the IP address by which CouchDB will be accessible. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Defined the port number to listen. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `5984` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Specifies location of CouchDB database files (\*.couch named). This location should be writable and readable for the user the CouchDB service runs as (couchdb by default). _Type:_ absolute path _Default:_ `config.env.DEVENV_STATE + "/couchdb"` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) When this configuration setting is set to true, automatically create the system databases on startup. Must be set false for a clustered CouchDB installation. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) This file contains the full URI that can be used to access this instance of CouchDB. It is used to help discover the port CouchDB is running on (if it was set to 0 (e.g. automatically assigned any free one). This file should be writable and readable for the user that runs the CouchDB service (couchdb by default). _Type:_ absolute path _Default:_ `config.env.DEVENV_STATE + "/couchdb"/couchdb.uri` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Specifies location of CouchDB view index files. This location should be writable and readable for the user that runs the CouchDB service (couchdb by default). _Type:_ absolute path _Default:_ `config.env.DEVENV_STATE + "/couchdb"` _Declared by:_ * [devenv/src/modules/services/couchdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/couchdb.nix) Whether to enable DynamoDB Local. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/dynamodb-local.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/dynamodb-local.nix) Which package of DynamoDB to use. _Type:_ package _Default:_ `pkgs.dynamodb-local` _Declared by:_ * [devenv/src/modules/services/dynamodb-local.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/dynamodb-local.nix) Listen address for the Dynamodb-local. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `8000` _Declared by:_ * [devenv/src/modules/services/dynamodb-local.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/dynamodb-local.nix) If true, enables the -sharedDb flag for DynamoDB Local. When enabled, DynamoDB Local creates a single database file named shared-local-instance.db. Every program that connects to DynamoDB accesses this file. If you delete the file, you lose any data stored in it. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/dynamodb-local.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/dynamodb-local.nix) Whether to enable elasticmq-server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/elasticmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticmq.nix) Which package of elasticmq-server-bin to use _Type:_ package _Default:_ `pkgs.elasticmq-server-bin` _Declared by:_ * [devenv/src/modules/services/elasticmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticmq.nix) Configuration for elasticmq-server _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/elasticmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticmq.nix) Whether to enable elasticsearch. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch package to use. _Type:_ package _Default:_ `pkgs.elasticsearch7` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch name that identifies your cluster for auto-discovery. _Type:_ string _Default:_ `"elasticsearch"` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Extra command line options for the elasticsearch launcher. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Extra configuration for elasticsearch. _Type:_ string _Default:_ `""` _Example:_ '' node.name: "elasticsearch" node.master: true node.data: false '' _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Extra command line options for Java. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "-Djava.net.preferIPv4Stack=true"\ ] _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch listen address. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch logging configuration. _Type:_ string _Default:_ '' logger.action.name = org.elasticsearch.action logger.action.level = info appender.console.type = Console appender.console.name = console appender.console.layout.type = PatternLayout appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n rootLogger.level = info rootLogger.appenderRef.console.ref = console '' _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Extra elasticsearch plugins _Type:_ list of package _Default:_ `[ ]` _Example:_ `[ pkgs.elasticsearchPlugins.discovery-ec2 ]` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch port to listen for HTTP traffic. _Type:_ signed integer _Default:_ `9200` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Start a single-node cluster _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Elasticsearch port for the node to node communication. _Type:_ signed integer _Default:_ `9300` _Declared by:_ * [devenv/src/modules/services/elasticsearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/elasticsearch.nix) Whether to enable httpbin. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/httpbin.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/httpbin.nix) Addresses for httpbin to listen on. _Type:_ list of string _Default:_ [\ "127.0.0.1:8080"\ ] _Declared by:_ * [devenv/src/modules/services/httpbin.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/httpbin.nix) Gunicorn CLI arguments for httpbin. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/httpbin.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/httpbin.nix) Whether to enable influxdb. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/influxdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/influxdb.nix) An open-source distributed time series database _Type:_ package _Default:_ `pkgs.influxdb` _Declared by:_ * [devenv/src/modules/services/influxdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/influxdb.nix) Configuration for InfluxDB-server _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/influxdb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/influxdb.nix) Whether to enable Apache Kafka. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) The apacheKafka package to use. _Type:_ package _Default:_ `pkgs.apacheKafka` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Kafka log4j property configuration file path _Type:_ absolute path _Default:_ `"pkgs.writeText \"log4j.properties\" cfg.log4jProperties"` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Kafka server.properties configuration file path. Defaults to the rendered `settings`. _Type:_ absolute path _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Whether to enable Kafka Connect. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) List of Kafka Connect connectors to set up initially _Type:_ list of (open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Initial configuration for the connector _Type:_ attribute set _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Name of the connector _Type:_ string _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) `connect-standalone.properties`. Note that .properties files contain mappings from string to string. Keys with dots are NOT represented by nested attrs in these settings, but instead as quoted strings (ie. `settings."broker.id"`, NOT `settings.broker.id`). _Type:_ open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string)) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. _Type:_ list of string _Default:_ [\ "localhost:9092"\ ] _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) The key converter to use for the connector. _Type:_ string _Default:_ `"org.apache.kafka.connect.json.JsonConverter"` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Whether the key converter should include schema information in the message. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) List of listeners for Kafka Connect (By default Kafka Connect listens on http://localhost:8083) _Type:_ null or (list of string) _Default:_ `null` _Example:_ [\ "http://localhost:8080"\ ] _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Interval at which to try committing offsets for tasks _Type:_ signed integer _Default:_ `10000` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) The file to store connector offsets in. By storing offsets on disk, a standalone process can be stopped and started on a single node and resume where it previously left off. _Type:_ string _Default:_ `${config.env.DEVENV_STATE}/kafka/connect/connect.offsets` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) The list should consist of top level directories that include any combination of: a) directories immediately containing jars with plugins and their dependencies b) uber-jars with plugins and their dependencies c) directories immediately containing the package directory structure of classes of plugins and their dependencies Note: symlinks will be followed to discover dependencies or plugins. _Type:_ null or (list of (string or absolute path)) _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) The value converter to use for the connector. _Type:_ string _Default:_ `"org.apache.kafka.connect.json.JsonConverter"` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Whether the value converter should include schema information in the message. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka-connect.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka-connect.nix) Which defaults to set for the mode Kafka should run in * `kraft` (default): Run Kafka in KRaft mode, Which requires no extra configuration. * `zookeeper`: Run Kafka in Zookeeper mode, this requires more configuration. _Type:_ one of “zookeeper”, “kraft” _Default:_ `"kraft"` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Whether to format log dirs in KRaft mode if all log dirs are unformatted, ie. they contain no meta.properties. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Whether to ignore already formatted log dirs when formatting log dirs, instead of failing. Useful when replacing or adding disks. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) The JRE with which to run Kafka _Type:_ package _Default:_ `pkgs.apacheKafka.passthru.jre` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Extra command line options for the JVM running Kafka. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "-Djava.net.preferIPv4Stack=true"\ "-Dcom.sun.management.jmxremote"\ "-Dcom.sun.management.jmxremote.local.only=true"\ ] _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Kafka log4j property configuration. _Type:_ strings concatenated with “\\n” _Default:_ '' log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n '' _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) [Kafka broker configuration](https://kafka.apache.org/documentation.html#brokerconfigs) `server.properties`. Note that .properties files contain mappings from string to string. Keys with dots are NOT represented by nested attrs in these settings, but instead as quoted strings (ie. `settings."broker.id"`, NOT `settings.broker.id`). _Type:_ open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string)) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Broker ID. -1 or null to auto-allocate in zookeeper mode. _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Kafka Listener List. See [listeners](https://kafka.apache.org/documentation/#brokerconfigs_listeners) . If you change this, you should also update the readiness probe. _Type:_ list of string _Default:_ [\ "PLAINTEXT://localhost:9092"\ ] _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Log file directories. _Type:_ list of absolute path _Default:_ `[ "${config.devenv.state + "/kafka"}/logs" ]` _Declared by:_ * [devenv/src/modules/services/kafka.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/kafka.nix) Whether to enable the Keycloak identity and access management server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The keycloak package to use. _Type:_ package _Default:_ `pkgs.keycloak` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The type of database Keycloak should connect to. If you use `dev-mem`, the realm export over script `keycloak-realm-export-*` does not work. _Type:_ one of “dev-mem”, “dev-file” _Default:_ `"dev-file"` _Example:_ `"dev-mem"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Initial password set for the temporary `admin` user. The password is not stored safely and should be changed immediately in the admin panel. See [Admin bootstrap and recovery](https://www.keycloak.org/server/bootstrap-admin-recovery) for details. _Type:_ string _Default:_ `"admin"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Keycloak plugin jar, ear files or derivations containing them. Packaged plugins are available through `pkgs.keycloak.plugins`. _Type:_ list of absolute path _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Global toggle to enable/disable the realms export process `keycloak-realm-export-all` if any realms have `realms.«name».export == true`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Specify the realms you want to import on start up and export on a manual start of process/script ‘keycloak-realm-export-all’. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { myrealm = { path = "./myfolder/export.json"; import = true; # default export = true; }; } _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) If you want to export that realm on process/script launch `keycloak-export-realms`. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) If you want to import that realm on start up, if the realm does not yet exist. _Type:_ boolean _Default:_ `true` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The path (string, relative to `DEVENV_ROOT`) where you want to import (or export) this realm «name» to. If not set and `import` is `true` this realm is not imported. If not set and `export` is `true` its exported to `$DEVENV_STATE/keycloak/realm-export/«name».json`. _Type:_ null or relative path not in the Nix store _Default:_ `null` _Example:_ `"./realms/a.json"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Global toggle to enable/disable the **single** realm export script `keycloak-realm-export`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Configuration options corresponding to parameters set in `conf/keycloak.conf`. Most available options are documented at [https://www.keycloak.org/server/all-config](https://www.keycloak.org/server/all-config) . Options containing secret data should be set to an attribute set containing the attribute `_secret` - a string pointing to a file containing the value the option should be set to. See the example to get a better picture of this: in the resulting `conf/keycloak.conf` file, the `https-key-store-password` key will be set to the contents of the `/run/keys/store_password` file. _Type:_ open submodule of attribute set of (null or string or signed integer or boolean or attribute set of absolute path) _Example:_ { hostname = "localhost"; https-key-store-file = "/path/to/file"; https-key-store-password = { _secret = "/run/keys/store_password"; }; } _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The hostname part of the public URL used as base for all frontend requests. See [https://www.keycloak.org/server/hostname](https://www.keycloak.org/server/hostname) for more information about hostname configuration. _Type:_ string _Default:_ `"localhost"` _Example:_ `"localhost"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) On which address Keycloak should accept new connections. _Type:_ string _Default:_ `"::"` _Example:_ `"::1"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) On which port Keycloak should listen for new HTTP connections. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `8080` _Example:_ `8080` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The path relative to `/` for serving resources. **Note:** In versions of Keycloak using Wildfly (<17), this defaulted to `/auth`. If upgrading from the Wildfly version of Keycloak, i.e. a NixOS version before 22.05, you’ll likely want to set this to `/auth` to keep compatibility with your clients. See [https://www.keycloak.org/migration/migrating-to-quarkus](https://www.keycloak.org/migration/migrating-to-quarkus) for more information on migrating from Wildfly to Quarkus. _Type:_ string _Default:_ `"/"` _Example:_ `"/auth"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) On which port Keycloak should listen for new HTTPS connections. If its not set, its disabled. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `34429` _Example:_ `34429` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The path to a PEM formatted certificate to use for TLS/SSL connections. _Type:_ null or relative path not in the Nix store _Default:_ `null` _Example:_ `"/run/keys/ssl_cert"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) The path to a PEM formatted private key to use for TLS/SSL connections. _Type:_ null or relative path not in the Nix store _Default:_ `null` _Example:_ `"/run/keys/ssl_key"` _Declared by:_ * [devenv/src/modules/services/keycloak.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/keycloak.nix) Whether to enable mailhog process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Which package of mailhog to use _Type:_ package _Default:_ `pkgs.mailhog` _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Additional arguments passed to `mailhog`. _Type:_ list of strings concatenated with “\\n” _Default:_ `[ ]` _Example:_ [\ "-invite-jim"\ ] _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Listen address for API. _Type:_ string _Default:_ `"127.0.0.1:8025"` _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Listen address for SMTP. _Type:_ string _Default:_ `"127.0.0.1:1025"` _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Listen address for UI. _Type:_ string _Default:_ `"127.0.0.1:8025"` _Declared by:_ * [devenv/src/modules/services/mailhog.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailhog.nix) Whether to enable mailpit process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/mailpit.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailpit.nix) Which package of mailpit to use _Type:_ package _Default:_ `pkgs.mailpit` _Declared by:_ * [devenv/src/modules/services/mailpit.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailpit.nix) Additional arguments passed to `mailpit`. _Type:_ list of strings concatenated with “\\n” _Default:_ `[ ]` _Example:_ [\ "--max=500"\ ] _Declared by:_ * [devenv/src/modules/services/mailpit.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailpit.nix) Listen address for SMTP. _Type:_ string _Default:_ `"127.0.0.1:1025"` _Declared by:_ * [devenv/src/modules/services/mailpit.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailpit.nix) Listen address for UI. _Type:_ string _Default:_ `"127.0.0.1:8025"` _Declared by:_ * [devenv/src/modules/services/mailpit.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mailpit.nix) Whether to enable Meilisearch. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Which Meilisearch package to use _Type:_ package _Default:_ `"pkgs.meilisearch"` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Defines the running environment of Meilisearch. _Type:_ one of “development”, “production” _Default:_ `"development"` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Meilisearch listen address. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Meilisearch port to listen on. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `7700` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Defines how much detail should be present in Meilisearch’s logs. Meilisearch currently supports four log levels, listed in order of increasing verbosity: * ‘ERROR’: only log unexpected events indicating Meilisearch is not functioning as expected * ‘WARN:’ log all unexpected events, regardless of their severity * ‘INFO:’ log all events. This is the default value * ‘DEBUG’: log all events and including detailed information on Meilisearch’s internal processes. Useful when diagnosing issues and debugging _Type:_ string _Default:_ `"INFO"` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Sets the maximum size of the index. Value must be given in bytes or explicitly stating a base unit. For example, the default value can be written as 107374182400, ‘107.7Gb’, or ‘107374 Mb’. Default is 100 GiB _Type:_ string _Default:_ `"107374182400"` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Deactivates analytics. Analytics allow Meilisearch to know how many users are using Meilisearch, which versions and which platforms are used. This process is entirely anonymous. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/meilisearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/meilisearch.nix) Whether to enable memcached process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/memcached.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix) Which package of memcached to use _Type:_ package _Default:_ `pkgs.memcached` _Declared by:_ * [devenv/src/modules/services/memcached.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix) The IP interface to bind to. `null` means “all interfaces”. _Type:_ null or string _Default:_ `"127.0.0.1"` _Example:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/memcached.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix) The TCP port to accept connections. If port 0 is specified memcached will not listen on a TCP socket. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `11211` _Declared by:_ * [devenv/src/modules/services/memcached.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix) Additional arguments passed to `memcached` during startup. _Type:_ list of strings concatenated with “\\n” _Default:_ `[ ]` _Example:_ [\ "--memory-limit=100M"\ ] _Declared by:_ * [devenv/src/modules/services/memcached.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/memcached.nix) Whether to enable MinIO Object Storage. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) MinIO package to use. _Type:_ package _Default:_ `pkgs.minio` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Access key of 5 to 20 characters in length that clients use to access the server. _Type:_ string _Default:_ `"minioadmin"` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Bash code to execute after minio is running. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ '' mc anonymous set download local/mybucket '' _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Enable or disable access to web UI. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) List of buckets to ensure exist on startup. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Contents of the mc `config.json`, as a nix attribute set. By default, `local` is configured to connect to the devenv minio service. Use `lib.mkForce null` to use your regular mc configuration from `$HOME/.mc` instead. _Type:_ null or JSON value _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) MinIO client package to use. _Type:_ package _Default:_ `pkgs.minio-client` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) IP address and port of the web UI (console). _Type:_ string _Default:_ `"127.0.0.1:9001"` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) IP address and port of the server. _Type:_ string _Default:_ `"127.0.0.1:9000"` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) The physical location of the server. By default it is set to us-east-1, which is same as AWS S3’s and MinIO’s default region. _Type:_ string _Default:_ `"us-east-1"` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Specify the Secret key of 8 to 40 characters in length that clients use to access the server. _Type:_ string _Default:_ `"minioadmin"` _Declared by:_ * [devenv/src/modules/services/minio.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/minio.nix) Whether to enable MongoDB process and expose utilities. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/mongodb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix) Which MongoDB package to use. _Type:_ package _Default:_ `pkgs.mongodb-ce` _Declared by:_ * [devenv/src/modules/services/mongodb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix) Additional arguments passed to `mongod`. _Type:_ list of strings concatenated with “\\n” _Default:_ [\ "--noauth"\ ] _Example:_ [\ "--port"\ "27017"\ "--noauth"\ ] _Declared by:_ * [devenv/src/modules/services/mongodb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix) This used in conjunction with initDatabaseUsername, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role. _Type:_ string _Default:_ `""` _Example:_ `"secret"` _Declared by:_ * [devenv/src/modules/services/mongodb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix) This used in conjunction with initDatabasePassword, create a new user and set that user’s password. This user is created in the admin authentication database and given the role of root, which is a “superuser” role. _Type:_ string _Default:_ `""` _Example:_ `"mongoadmin"` _Declared by:_ * [devenv/src/modules/services/mongodb.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mongodb.nix) Whether to enable MySQL process and expose utilities. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Which package of MySQL to use _Type:_ package _Default:_ `pkgs.mariadb` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Ensures that the specified users exist and have at least the ensured permissions. The MySQL users will be identified using Unix socket authentication. This authenticates the Unix user with the same name only, and that without the need for a password. This option will never delete existing users or remove permissions, especially not when the value of this option is changed. This means that users created and permissions assigned once through this option or otherwise have to be removed manually. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ [\ {\ name = "devenv";\ ensurePermissions = {\ "devenv.*" = "ALL PRIVILEGES";\ };\ }\ ] _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Permissions to ensure for the user, specified as attribute set. The attribute names specify the database and tables to grant the permissions for, separated by a dot. You may use wildcards here. The attribute values specfiy the permissions to grant. You may specify one or multiple comma-separated SQL privileges here. For more information on how to specify the target and on which privileges exist, see the [GRANT syntax](https://mariadb.com/kb/en/library/grant/) . The attributes are used as `GRANT ${attrName} ON ${attrValue}`. _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { "database.*" = "ALL PRIVILEGES"; "*.*" = "SELECT, LOCK TABLES"; } _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Host of the user to ensure. _Type:_ string _Default:_ `"localhost"` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Name of the user to ensure. _Type:_ string _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Password of the user to ensure. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Whether to import tzdata on the first startup of the mysql server _Type:_ null or boolean _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) List of database names and their initial schemas that should be used to create databases on the first startup of MySQL. The schema attribute is optional: If not specified, an empty database is created. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ [\ { name = "foodatabase"; schema = ./foodatabase.sql; }\ { name = "bardatabase"; }\ ] _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) The name of the database to create. _Type:_ string _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) The initial schema of the database; if null (the default), an empty database is created. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) MySQL configuration. _Type:_ lazy attribute set of lazy attribute set of anything _Default:_ `{ }` _Example:_ { mysqld = { key_buffer_size = "6G"; table_cache = 1600; log-error = "/var/log/mysql_err.log"; plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ]; }; mysqldump = { quick = true; max_allowed_packet = "16M"; }; } _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Whether to use defaults-exta-file for the mysql command instead of defaults-file. This is useful if you want to provide a config file on the command line. However this can problematic if you have MySQL installed globaly because its config might leak into your environment. This option does not affect the mysqld command. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/mysql.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/mysql.nix) Whether to enable the NATS messaging server. NATS is a simple, secure and high performance messaging system for cloud native applications, IoT messaging, and microservices architectures. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Which NATS server package to use. _Type:_ package _Default:_ `pkgs.nats-server` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Whether to enable authorization for client connections. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Password required for client connections. Only used if authorization is enabled. Warning: This will be visible in the Nix store. _Type:_ string _Default:_ `""` _Example:_ `"nats-pass"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Token required for client connections. Alternative to user/password authentication. Warning: This will be visible in the Nix store. _Type:_ string _Default:_ `""` _Example:_ `"my-secret-token"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Username required for client connections. Only used if authorization is enabled. _Type:_ string _Default:_ `""` _Example:_ `"nats-user"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Client URL to advertise to other servers in a cluster. Useful when running behind NAT or in containers. _Type:_ string _Default:_ `""` _Example:_ `"localhost:4222"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Enable debug logging for troubleshooting. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Network host to listen on for client connections. Set to “0.0.0.0” to listen on all interfaces. Default is localhost for security. _Type:_ string _Default:_ `"127.0.0.1"` _Example:_ `"0.0.0.0"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Whether to enable JetStream persistence layer for streaming and queues. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Maximum disk space for file-based streams. Use suffixes: K, M, G, T for sizes. _Type:_ string _Default:_ `"10G"` _Example:_ `"100G"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Maximum memory for in-memory streams. Use suffixes: K, M, G, T for sizes. _Type:_ string _Default:_ `"1G"` _Example:_ `"512M"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Path to log file. If empty, logs to stdout. Stdout is recommended for devenv as logs are captured by process manager. _Type:_ string _Default:_ `""` _Example:_ `"/var/log/nats-server.log"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Enable HTTP monitoring endpoint. Provides /healthz, /varz, /connz, and other monitoring endpoints. Highly recommended for production deployments. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Port for HTTP monitoring endpoint. Access monitoring at http://host:port/varz _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `8222` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Port to listen on for client connections. Default NATS client port is 4222. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `4222` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Server name for identification in clusters. If empty, NATS will auto-generate a unique name. _Type:_ string _Default:_ `""` _Example:_ `"nats-dev-1"` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Additional NATS server configuration as a Nix attribute set. This will be converted to NATS config file format. Use this for advanced features like: * TLS/SSL configuration * Clustering with routes * MQTT gateway * WebSocket support * Custom authorization See https://docs.nats.io/running-a-nats-service/configuration _Type:_ attribute set _Default:_ `{ }` _Example:_ { tls = { cert_file = "/path/to/cert.pem"; key_file = "/path/to/key.pem"; verify = true; }; cluster = { name = "my-cluster"; listen = "0.0.0.0:6222"; routes = [\ "nats://node1:6222"\ "nats://node2:6222"\ ]; }; } _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Enable protocol tracing for deep debugging. Warning: Very verbose output. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/nats.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nats.nix) Whether to enable nginx. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/nginx.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix) The nginx package to use. _Type:_ package _Default:_ `pkgs.nginx` _Declared by:_ * [devenv/src/modules/services/nginx.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix) Default MIME types for NGINX, as MIME types definitions from NGINX are very incomplete, we use by default the ones bundled in the mailcap package, used by most of the other Linux distributions. _Type:_ absolute path _Default:_ `${pkgs.mailcap}/etc/nginx/mime.types` _Example:_ `${pkgs.nginx}/conf/mime.types` _Declared by:_ * [devenv/src/modules/services/nginx.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix) The nginx events configuration. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/nginx.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix) The nginx configuration. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/nginx.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/nginx.nix) Whether to enable OpenSearch. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) The OpenSearch package to use. _Type:_ package _Default:_ `pkgs.opensearch` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) Extra command line options for the OpenSearch launcher. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) Extra command line options for Java. _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "-Djava.net.preferIPv4Stack=true"\ ] _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) OpenSearch logging configuration. _Type:_ string _Default:_ '' logger.action.name = org.opensearch.action logger.action.level = info appender.console.type = Console appender.console.name = console appender.console.layout.type = PatternLayout appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n rootLogger.level = info rootLogger.appenderRef.console.ref = console '' _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) OpenSearch configuration. _Type:_ open submodule of (YAML 1.1 value) _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) The name of the cluster. _Type:_ string _Default:_ `"opensearch"` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) The type of discovery to use. _Type:_ string _Default:_ `"single-node"` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) The port to listen on for HTTP traffic. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `9200` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) Which port this service should listen on. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) Whether to disable the security plugin. When set to false, SSL configuration is required. To enable SSL, set `plugins.security.ssl.transport.keystore_filepath` or both `plugins.security.ssl.transport.server.pemcert_filepath` and `plugins.security.ssl.transport.client.pemcert_filepath`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) The port to listen on for transport traffic. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `9300` _Declared by:_ * [devenv/src/modules/services/opensearch.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opensearch.nix) Whether to enable opentelemetry-collector. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/opentelemetry-collector.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opentelemetry-collector.nix) The OpenTelemetry Collector package to use _Type:_ package _Default:_ `pkgs.opentelemetry-collector-contrib` _Declared by:_ * [devenv/src/modules/services/opentelemetry-collector.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opentelemetry-collector.nix) Override the configuration file used by OpenTelemetry Collector. By default, a configuration is generated from `services.opentelemetry-collector.settings`. If overriding, enable the `health_check` extension to allow process-compose to check whether the Collector is ready. Otherwise, disable the readiness probe by setting `processes.opentelemetry-collector.process-compose.readiness_probe = lib.mkForce {};`. _Type:_ null or absolute path _Default:_ `null` _Example:_ pkgs.writeTextFile { name = "otel-config.yaml"; text = "..."; } _Declared by:_ * [devenv/src/modules/services/opentelemetry-collector.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opentelemetry-collector.nix) OpenTelemetry Collector configuration. Refer to https://opentelemetry.io/docs/collector/configuration/ for more information on how to configure the Collector. _Type:_ open submodule of (YAML 1.1 value) _Default:_ `defaultSettings` _Declared by:_ * [devenv/src/modules/services/opentelemetry-collector.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/opentelemetry-collector.nix) Whether to enable Add PostgreSQL process. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) The PostgreSQL package to use. Use this to override the default with a specific version. _Type:_ package _Default:_ `pkgs.postgresql` _Example:_ pkgs.postgresql_15 _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Create a database named like current user on startup. Only applies when initialDatabases is an empty list. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Additional PostgreSQL extensions to install. The available extensions are: * age * anonymizer * apache\_datasketches * callPackage * citus * cstore\_fdw * h3-pg * hypopg * ip4r * jsonb\_deep\_sum * lantern * omnigres * periods * pg-gvm * pg-semver * pg\_auto\_failover * pg\_bigm * pg\_byteamagic * pg\_cron * pg\_csv * pg\_ed25519 * pg\_embedding * pg\_graphql * pg\_hint\_plan * pg\_hll * pg\_ivm * pg\_libversion * pg\_net * pg\_partman * pg\_rational * pg\_relusage * pg\_repack * pg\_roaringbitmap * pg\_safeupdate * pg\_similarity * pg\_squeeze * pg\_tle * pg\_topn * pg\_uuidv7 * pgaudit * pgddl * pgjwt * pgmq * pgroonga * pgrouting * pgsodium * pgsql-http * pgtap * pgvecto-rs * pgvector * pgvectorscale * pgx\_ulid * plperl * plpgsql\_check * plpython3 * plr * pltcl * plv8 * pointcloud * postgis * repmgr * rum * smlar * sqlite\_fdw * system\_stats * tds\_fdw * temporal\_tables * timescaledb * timescaledb-apache * timescaledb\_toolkit * tsja * vectorchord * wal2json _Type:_ null or (function that evaluates to a(n) list of package) _Default:_ `null` _Example:_ extensions: [\ extensions.pg_cron\ extensions.postgis\ extensions.timescaledb\ ]; _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) The contents of a custom pg\_hba.conf file to copy into the postgres installation. This allows for custom connection rules that you want to establish on the server. _Type:_ null or string _Default:_ `null` _Example:_ builtins.readFile ./my-custom/directory/to/pg_hba.conf _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Additional arguments passed to `initdb` during data dir initialisation. _Type:_ list of strings concatenated with “\\n” _Default:_ [\ "--locale=C"\ "--encoding=UTF8"\ ] _Example:_ [\ "--data-checksums"\ "--allow-group-access"\ ] _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) List of database names and their initial schemas that should be used to create databases on the first startup of Postgres. The schema attribute is optional: If not specified, an empty database is created. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ [\ {\ name = "foodatabase";\ schema = ./foodatabase.sql;\ }\ { name = "bardatabase"; }\ ] _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) SQL commands to run on this specific database during it’s initialization. Multiple SQL expressions can be separated by semicolons. _Type:_ null or string _Default:_ `null` _Example:_ CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT); INSERT INTO users (name) VALUES ('admin'); CREATE EXTENSION IF NOT EXISTS pg_uuidv7; _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) The name of the database to create. _Type:_ string _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Password of owner of the database (only takes effect if `user` is not `null`). _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) The initial schema of the database; if null (the default), an empty database is created. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Username of owner of the database (if null, the default $USER is used). _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Initial SQL commands to run during database initialization. This can be multiple SQL expressions separated by a semi-colon. Use `initialScript` for server-wide setup, such as creating roles or configuring global settings. For database-specific initialization, use `initialSQL` within `initialDatabases`. _Type:_ null or string _Default:_ `null` _Example:_ CREATE ROLE postgres SUPERUSER; CREATE ROLE bar; _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) A comma-separated list of TCP/IP address(es) on which the server should listen for connections. By default, the server only accepts connections over unix sockets. This option is parsed to set the `PGHOST` environment variable. Special values: * '\*' to listen on all available network interfaces. * '0.0.0.0' to listen on all available IPv4 network interfaces. * '::' to listen on all available IPv6 network interfaces. * 'localhost' to listen only on the loopback interface. * '' (empty string) disables TCP/IP connections and listens only on the unix socket. _Type:_ string _Default:_ `""` _Example:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) The TCP port to accept connections. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `5432` _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) PostgreSQL configuration. Refer to [https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE](https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE) for an overview of `postgresql.conf`. String values will automatically be enclosed in single quotes. Single quotes will be escaped with two single quotes as described by the upstream documentation linked above. _Type:_ attribute set of (boolean or floating point number or signed integer or string) _Default:_ `{ }` _Example:_ { log_connections = true; log_statement = "all"; logging_collector = true log_disconnections = true log_destination = lib.mkForce "syslog"; } _Declared by:_ * [devenv/src/modules/services/postgres.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/postgres.nix) Whether to enable Prometheus monitoring system. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Which package of Prometheus to use _Type:_ package _Default:_ `pkgs.prometheus` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Storage configuration _Type:_ attribute set _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) TSDB configuration _Type:_ attribute set _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Alerting configuration _Type:_ null or (attribute set) _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Enable exemplar storage _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Enable OTLP receiver _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Enable tracing _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Additional arguments to pass to Prometheus _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Global Prometheus configuration _Type:_ attribute set _Default:_ { evaluation_interval = "1m"; scrape_interval = "1m"; scrape_timeout = "10s"; } _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Port for Prometheus web interface _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `9090` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Remote read configurations _Type:_ list of (attribute set) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Remote write configurations _Type:_ list of (attribute set) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) List of rule files to load _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) List of scrape configurations _Type:_ list of (attribute set) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Path where Prometheus will store its database _Type:_ string _Default:_ `${config.devenv.state}/prometheus` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) How long to retain data _Type:_ string _Default:_ `"15d"` _Declared by:_ * [devenv/src/modules/services/prometheus.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/prometheus.nix) Whether to enable the RabbitMQ server, an Advanced Message Queuing Protocol (AMQP) broker. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Which rabbitmq package to use. _Type:_ package _Default:_ `pkgs.rabbitmq-server` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Configuration options in RabbitMQ’s new config file format, which is a simple key-value format that can not express nested data structures. This is known as the `rabbitmq.conf` file, although outside NixOS that filename may have Erlang syntax, particularly prior to RabbitMQ 3.7.0. If you do need to express nested data structures, you can use `config` option. Configuration from `config` will be merged into these options by RabbitMQ at runtime to form the final configuration. See [https://www.rabbitmq.com/configure.html#config-items](https://www.rabbitmq.com/configure.html#config-items) For the distinct formats, see [https://www.rabbitmq.com/configure.html#config-file-formats](https://www.rabbitmq.com/configure.html#config-file-formats) _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { "auth_backends.1.authn" = "rabbit_auth_backend_ldap"; "auth_backends.1.authz" = "rabbit_auth_backend_internal"; } _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Erlang cookie is a string of arbitrary length which must be the same for several nodes to be allowed to communicate. Leave empty to generate automatically. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) IP address on which RabbitMQ will listen for AMQP connections. Set to the empty string to listen on all interfaces. Note that RabbitMQ creates a user named `guest` with password `guest` by default, so you should delete this user if you intend to allow external access. Together with ‘port’ setting it’s mostly an alias for configItems.“listeners.tcp.1” and it’s left for backwards compatibility with previous version of this module. _Type:_ string _Default:_ `"127.0.0.1"` _Example:_ `""` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Whether to enable the management plugin. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) On which port to run the management plugin _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `15672` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) The name of the RabbitMQ node. This is used to identify the node in a cluster. If you are running multiple RabbitMQ nodes on the same machine, you must give each node a unique name. The name must be of the form `name@host`, where `name` is an arbitrary name and `host` is the domain name of the host. _Type:_ string _Default:_ `"rabbit@localhost"` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) The list of directories containing external plugins _Type:_ list of absolute path _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) The names of plugins to enable _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Port on which RabbitMQ will listen for AMQP connections. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `5672` _Declared by:_ * [devenv/src/modules/services/rabbitmq.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/rabbitmq.nix) Whether to enable Redis process and expose utilities. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/redis.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix) Which package of Redis to use _Type:_ package _Default:_ `pkgs.redis` _Declared by:_ * [devenv/src/modules/services/redis.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix) The IP interface to bind to. `null` means “all interfaces”. _Type:_ null or string _Default:_ `"127.0.0.1"` _Example:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/redis.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix) Additional text to be appended to `redis.conf`. _Type:_ strings concatenated with “\\n” _Default:_ `"locale-collate C"` _Declared by:_ * [devenv/src/modules/services/redis.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix) The TCP port to accept connections. If port 0 is specified Redis, will not listen on a TCP socket and a unix socket file will be found at $REDIS\_UNIX\_SOCKET. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `6379` _Declared by:_ * [devenv/src/modules/services/redis.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/redis.nix) Whether to enable sqld. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/sqld.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/sqld.nix) Add other sqld flags. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/sqld.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/sqld.nix) Port number to listen on _Type:_ signed integer _Default:_ `8080` _Declared by:_ * [devenv/src/modules/services/sqld.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/sqld.nix) Whether to enable Tailscale funnel. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/tailscale.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tailscale.nix) Target host or host:port for Tailscale funnel _Type:_ string _Declared by:_ * [devenv/src/modules/services/tailscale.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tailscale.nix) Whether to enable Temporal process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Which package of Temporal to use. _Type:_ package _Default:_ `pkgs.temporal-cli` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Dynamic configuration for the Temporal server. _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { "frontend.namespacerps" = "2500"; "frontend.rps" = "2500"; } _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) IPv4 address to bind the frontend service to. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Specify namespaces that should be pre-created (namespace “default” is always created). _Type:_ list of string _Default:_ `[ ]` _Example:_ [\ "my-namespace"\ "my-other-namespace"\ ] _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Port for the frontend gRPC service. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `7233` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) State configuration. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) When enabled, the Temporal state gets lost when the process exists. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Sqlite pragma statements _Type:_ attribute set of string _Default:_ `{ }` _Example:_ { journal_mode = "wal"; synchronous = "2"; } _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) UI configuration. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Enable the Web UI. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) IPv4 address to bind the Web UI to. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Port for the Web UI. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ [`services.temporal.port`](https://devenv.sh/reference/options/#servicestemporalport) + 1000 _Declared by:_ * [devenv/src/modules/services/temporal.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/temporal.nix) Whether to enable Tideways profiler daemon It automatically installs Tideways PHP extension. . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Sets the API-Key for the Tideways Daemon. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Which package of tideways-cli to use _Type:_ package _Default:_ `pkgs.tideways-cli` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Which package of tideways-daemon to use _Type:_ package _Default:_ `pkgs.tideways-daemon` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Sets the Environment for Tideways Daemon. _Type:_ string _Default:_ `"devenv"` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) When the profiling space is enabled, the default monitoring will be disabled. _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Sets the Service name for Tideways Daemon. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/services/tideways.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/tideways.nix) Whether to enable Apache Traffic Server. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Apache Traffic Server package _Type:_ package _Default:_ `pkgs.trafficserver` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Caching rules that overrule the origin’s caching policy. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/cache.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ `"dest_domain=example.com suffix=js action=never-cache"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Partition the cache according to origin server or domain Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/hosting.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ `"domain=example.com volume=1"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Control client access to Traffic Server and Traffic Server connections to upstream servers. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/ip_allow.yaml.en.html) for more details. _Type:_ null or YAML 1.1 value _Default:_ upstream defaults _Example:_ { ip_allow = [{\ apply = "in";\ ip_addrs = "127.0.0.1";\ action = "allow";\ methods = "ALL";\ }]; } _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Configure logs. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/logging.yaml.en.html) for more details. _Type:_ null or YAML 1.1 value _Default:_ upstream defaults _Example:_ `{ }` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Identify the parent proxies used in an cache hierarchy. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/parent.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ '' dest_domain=. method=get parent="p1.example:8080; p2.example:8080" round_robin=true '' _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Controls run-time loadable plugins available to Traffic Server, as well as their configuration. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/plugin.config.en.html) for more details. _Type:_ list of (submodule) _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) arguments to pass to the plugin _Type:_ string _Default:_ `""` _Example:_ `"--header=ATS-My-Debug"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Path to plugin. The path can either be absolute, or relative to the plugin directory. _Type:_ string _Example:_ `"xdebug.so"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) List of configurable variables used by Traffic Server. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/records.config.en.html) for more details. When defining the values for the option `x.y`, a nested attribute should be used. Using a flat attribute set with the attribute name `x.y` will result in an error. If options for both `x.y` and `x.y.z` needs to be set, you can set `x.y._` as `x.y`. This only applies to Traffic Server versions prior to 10. Traffic Server 10 and onwards uses YAML configuration, which doesn’t have this kind of problem. _Type:_ Traffic Server records value _Default:_ `{ }` _Example:_ { proxy = { config = { proxy_name = "my_server"; }; }; } _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) URL remapping rules used by Traffic Server. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/remap.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ `"map http://from.example http://origin.example"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) File layout used by Traffic Server _Type:_ unspecified value _(read only)_ _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Configure aspects of TLS connection handling for both inbound and outbound connections. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/sni.yaml.en.html) for more details. _Type:_ null or YAML 1.1 value _Default:_ `null` _Example:_ { sni = [{\ fqdn = "no-http2.example.com";\ https = "off";\ }]; } _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Specify the DNS server that Traffic Server should use under specific conditions. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/splitdns.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ '' dest_domain=internal.corp.example named="255.255.255.255:212 255.255.255.254" def_domain=corp.example search_list="corp.example corp1.example" dest_domain=!internal.corp.example named=255.255.255.253 '' _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Configure SSL server certificates to terminate the SSL sessions. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/ssl_multicert.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Example:_ `"dest_ip=* ssl_cert_name=default.pem"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) List all the storage that make up the Traffic Server cache. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/storage.config.en.html) for more details. _Type:_ strings concatenated with “\\n” _Default:_ `"${config.services.traffic-server.runroot.cachedir} 256M"` _Example:_ `"/dev/disk/by-id/XXXXX volume=1"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Specify the next hop proxies used in an cache hierarchy and the algorithms used to select the next proxy. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/strategies.yaml.en.html) for more details. _Type:_ null or YAML 1.1 value _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Manage cache space more efficiently and restrict disk usage by creating cache volumes of different sizes. Consult the [upstream documentation](https://docs.trafficserver.apache.org/en/latest/admin-guide/files/volume.config.en.html) for more details. _Type:_ null or YAML 1.1 value _Default:_ `""` _Example:_ `"volume=1 scheme=http size=20%"` _Declared by:_ * [devenv/src/modules/services/trafficserver](https://github.com/cachix/devenv/blob/main/src/modules/services/trafficserver) Whether to enable typesense process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) Which package of typesense to use _Type:_ package _Default:_ `pkgs.typesense` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) Additional arguments passed to `typesense`. _Type:_ list of strings concatenated with “\\n” _Default:_ `[ ]` _Example:_ `[ ]` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) API Key. _Type:_ string _Default:_ `"example"` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) The HTTP host to accept connections. _Type:_ string _Default:_ `"127.0.0.1"` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) The HTTP port to accept connections. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Default:_ `8108` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) Search Only Key. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/services/typesense.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/typesense.nix) Whether to enable Varnish process and expose utilities. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) Which Varnish package to use. _Type:_ package _Default:_ `pkgs.varnish` _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) Varnish modules (except ‘std’). _Type:_ list of package _Default:_ `[ ]` _Example:_ `[ pkgs.varnish73Packages.modules ]` _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) Which address to listen on. _Type:_ string _Default:_ `"127.0.0.1:6081"` _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) How much memory to allocate to Varnish. _Type:_ string _Default:_ `"64M"` _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) Varnish VCL configuration. _Type:_ strings concatenated with “\\n” _Default:_ '' vcl 4.0; backend default { .host = "127.0.0.1"; .port = "80"; } '' _Declared by:_ * [devenv/src/modules/services/varnish.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/varnish.nix) Whether to enable vault process. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Which package of Vault to use. _Type:_ package _Default:_ `pkgs.vault-bin` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Specifies the address to bind to for listening _Type:_ string _Default:_ `"127.0.0.1:8200"` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Specifies whether clustering features such as request forwarding are enabled _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Disables the server from executing the mlock syscall _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Enables the built-in web UI _Type:_ boolean _Default:_ `true` _Declared by:_ * [devenv/src/modules/services/vault.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/vault.nix) Whether to enable WireMock. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) Which package of WireMock to use. _Type:_ package _Default:_ `pkgs.wiremock` _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) Whether to disable print banner logo. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) The mappings to mock. See the JSON examples on [https://wiremock.org/docs/stubbing/](https://wiremock.org/docs/stubbing/) for more information. _Type:_ JSON value _Default:_ `[ ]` _Example:_ [\ {\ request = {\ method = "GET";\ url = "/body";\ };\ response = {\ body = "Literal text to put in the body";\ headers = {\ Content-Type = "text/plain";\ };\ status = 200;\ };\ }\ {\ request = {\ method = "GET";\ url = "/json";\ };\ response = {\ jsonBody = {\ someField = "someValue";\ };\ status = 200;\ };\ }\ ] _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) The port number for the HTTP server to listen on. _Type:_ signed integer _Default:_ `8080` _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) Whether to log verbosely to stdout. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/services/wiremock.nix](https://github.com/cachix/devenv/blob/main/src/modules/services/wiremock.nix) Whether to enable the Starship.rs command prompt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/starship.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix) The Starship package to use. _Type:_ package _Default:_ `pkgs.starship` _Declared by:_ * [devenv/src/modules/integrations/starship.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix) Whether to enable Starship config override. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/starship.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix) The Starship configuration file to use. _Type:_ null or absolute path _Default:_ `null` _Example:_ `${config.env.DEVENV_ROOT}/starship.toml` _Declared by:_ * [devenv/src/modules/integrations/starship.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix) Starship configuration to use _Type:_ TOML value _Default:_ `{}` _Declared by:_ * [devenv/src/modules/integrations/starship.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/starship.nix) The stdenv to use for the developer environment. _Type:_ package _Default:_ `pkgs.stdenv` _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) A set of tasks. _Type:_ attribute set of (submodule) _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Package to install for this task. _Type:_ package _Default:_ `pkgs.bash` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) List of tasks that must complete before this task runs. Here’s a helpful mnemonic to remember: This task runs _after_ these tasks. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) List of tasks that depend on this task completing first. Here’s a helpful mnemonic to remember: This task runs _before_ these tasks. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Override the binary name from the default `package.meta.mainProgram`. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Working directory to run the task in. If not specified, the current working directory will be used. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Description of the task. _Type:_ string _Default:_ `""` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Command to execute the task. _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Paths to files that should trigger a task execution if modified. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) List of environment variables to export. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Input values for the task, encoded as JSON. _Type:_ attribute set of anything _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Always show task output (stdout and stderr), regardless of whether the task succeeds or fails. _Type:_ boolean _Default:_ `false` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Check if the command should be ran _Type:_ null or string _Default:_ `null` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Type of task: * oneshot: Task runs once and completes (default) * process: Task is a long-running process _Type:_ one of “oneshot”, “process” _Default:_ `"oneshot"` _Declared by:_ * [devenv/src/modules/tasks.nix](https://github.com/cachix/devenv/blob/main/src/modules/tasks.nix) Whether to enable treefmt integration (through treefmt-nix). _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [devenv/src/modules/integrations/treefmt.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/treefmt.nix) treefmt configuration. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [devenv/src/modules/integrations/treefmt.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/treefmt.nix) Nixpkgs to use in `treefmt`. _Type:_ lazy attribute set of raw value _Declared by:_ * [devenv/src/modules/integrations/treefmt.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/treefmt.nix) A list of removed environment variables to make the shell/direnv more lean. _Type:_ list of string _Default:_ [\ "HOST_PATH"\ "NIX_BUILD_CORES"\ "__structuredAttrs"\ "buildInputs"\ "buildPhase"\ "builder"\ "depsBuildBuild"\ "depsBuildBuildPropagated"\ "depsBuildTarget"\ "depsBuildTargetPropagated"\ "depsHostHost"\ "depsHostHostPropagated"\ "depsTargetTarget"\ "depsTargetTargetPropagated"\ "dontAddDisableDepTrack"\ "doCheck"\ "doInstallCheck"\ "nativeBuildInputs"\ "out"\ "outputs"\ "patches"\ "phases"\ "preferLocalBuild"\ "propagatedBuildInputs"\ "propagatedNativeBuildInputs"\ "shell"\ "shellHook"\ "stdenv"\ "strictDeps"\ ] _Declared by:_ * [devenv/src/modules/top-level.nix](https://github.com/cachix/devenv/blob/main/src/modules/top-level.nix) --- # make-shell - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/make-shell.md "Suggest an edit") Modules for mkShell! Set `make-shells.` attributes to create `devShells.` and `checks.-devshell` flake outputs. Import and merge complex or shared modules! Create and share new options! For example: # aliases.nix { config, lib, pkgs, ... }: { options.aliases = lib.mkOption { type = lib.types.attrsOf lib.types.singleLineStr; default = {}; }; config.packages = let inherit (lib.attrsets) mapAttrsToList; alias = name: command: (pkgs.writeShellScriptBin name \'\'exec ${command} "$@"\'\') // {meta.description = "alias for `${command}`";}; in mapAttrsToList alias config.aliases; } # flake.nix perSystem = {...}: { make-shells.default = { imports = [./aliases.nix]; aliases = { n = "nix"; g = "git"; }; }; }; To use these options, add to your flake inputs: make-shell.url = "github:nicknovitski/make-shell"; and inside the `mkFlake`: imports = [\ inputs.make-shell.flakeModules.default\ ]; Run `nix flake lock` and you're set. Modules to import into all shells created using `make-shells` _Type:_ list of raw value _Default:_ `[ ]` _Example:_ [({pkgs, ...}: {\ additionalArguments = {\ doCheck = true;\ phases = [ "buildPhase" "checkPhase" ];\ checkPhase = \'\'\ ${pkgs.shellcheck}/bin/shellcheck --shell bash <(echo "$shellHook")\ \'\';\ };\ })] _Declared by:_ * [make-shell/flake-module.nix](https://github.com/nicknovitski/make-shell/blob/main/flake-module.nix) For each attribute in this set, make-shell is called with the value, and the resulting package is added to the flake as a devShell attribute with the same name, and as a check with the name ‘${attribute name}-devshell’. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [make-shell/flake-module.nix](https://github.com/nicknovitski/make-shell/blob/main/flake-module.nix) Packages available in the shell environment. An alias of `nativeBuildInputs` _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Arbitrary additional arguments passed to mkDerivation. _Type:_ attribute set of anything _Default:_ `{ }` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) An attribute set to control environment variables in the shell environment. If the value of an attribute is `null`, the variable of that attribute’s name is `unset`. Otherwise the variable of the attribute name is set to the attribute’s value. Integer, path, and derivation values are converted to strings. The boolean true value is converted to the string `"1"`, and the boolean false value is converted to the empty string `""`. _Type:_ attribute set of (null or boolean or signed integer or package or absolute path or string) _Default:_ `{ }` _Example:_ { VARIABLE_NAME = "variable value"; UNSET = null; EMPTY = false; TWO = 2; PATH_TO_NIX_STORE_FILE = ./my-file; COWSAY = pkgs.cowsay } _Declared by:_ * [make-shell/shell-modules/env.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/env.nix) The shell derivation resulting from passing the evaluated configuration to mkDerivation. _Type:_ package _(read only)_ _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) Packages whose inputs are available in the shell environment. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Name of the shell environment derivation. _Type:_ string _Default:_ `"nix-shell"` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) Packages available in the shell environment. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Bash code evaluated when the shell environment starts. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) The standard environment from which the shell derivation will be created. _Type:_ package _Default:_ `pkgs.stdenv` _Example:_ `pkgs.stdenvNoCC` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) --- # Multi-platform: Working with system - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/system.md "Suggest an edit") In Nix, "system" generally refers to the cpu-os string, such as `"x86_64-linux"`. In Flakes specifically, these strings are used as attribute names, so that the Nix CLI can find a derivation for the right platform. Many things, such as packages, can exist on multiple systems. For these, use the [`perSystem`](https://flake.parts/options/flake-parts#opt-perSystem) submodule. Other things do not exist on multiple systems. Examples are the configuration of a specific machine, or the execution of a deployment. These are not written in `perSystem`, but in other top-level options, or directly into the flake outputs' top level (e.g. [`flake.nixosConfigurations`](https://flake.parts/options/flake-parts#opt-flake.nixosConfigurations) ). Such top-level entities typically do need to read packages, etc that are defined in `perSystem`. Instead of reading them from `config.flake.packages..`, it may be more convenient to bring all `perSystem` definitions for a system into scope, using [`withSystem`](https://flake.parts/module-arguments#withsystem) . --- # Getting Started - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/getting-started.md "Suggest an edit") If your project does not have a flake yet: nix flake init -t github:hercules-ci/flake-parts Otherwise, add the input, flake-parts.url = "github:hercules-ci/flake-parts"; then slide `mkFlake` between your outputs function head and body, outputs = inputs@{ flake-parts, ... }: # https://flake.parts/module-arguments.html flake-parts.lib.mkFlake { inherit inputs; } (top@{ config, withSystem, moduleWithSystem, ... }: { imports = [\ # Optional: use external flake logic, e.g.\ # inputs.foo.flakeModules.default\ ]; flake = { # Put your original flake attributes here. }; systems = [\ # systems for which you want to build the `perSystem` attributes\ "x86_64-linux"\ # ...\ ]; perSystem = { config, pkgs, ... }: { # Recommended: move all package definitions here. # e.g. (assuming you have a nixpkgs input) # packages.foo = pkgs.callPackage ./foo/package.nix { }; # packages.bar = pkgs.callPackage ./bar/package.nix { # foo = config.packages.foo; # }; }; }); Now you can start using the flake-parts options. --- # ocaml-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/ocaml-flake.md "Suggest an edit") This module has been archived because it appears to be unmaintained. [`ocaml-flake`](https://github.com/9glenda/ocaml-flake) uses [`opam-nix`](https://github.com/tweag/opam-nix) to build ocaml packages. The module structure is inspired by [`haskell-flake`](https://community.flake.parts/haskell-flake) . Since the flake is fairly new future versions may introduce breaking changes. To initialize a new dune project using `ocaml-flake` simply run: nix flake init -t github:9glenda/ocaml-flake#simple This will set up a devshell and package for you. Ocaml module _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) dune Projects. _Type:_ attribute set of (submodule) _Default:_ `{}` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) What will be added to the flake outputs. Note for dev shells nix will create a dev shell from the default package in case no dev shell is specified. _Type:_ list of (one of “devShell”, “package”) _Default:_ `["devShell" "package"]` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Create a dev shell for the project. The devShell is located in `ocaml.dunePackage..outputs.devShell`. To automatically add the dev shell to the outputs of the flake add `"devshell"` to `autoWire`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Extra packages to install into the dev shell alongside the `opamPackages`. _Type:_ list of package _Default:_ `[]` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Take inputs from the package. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Extra arguments to pass to `pkgs.mkShell`. The already set arguments get overwritten. It’s implemented like this: pkgs.mkShell ({ ... } // mkShellArgs) _Type:_ attribute set of raw value _Default:_ `{ }` _Example:_ '' { shellHook = \'\' echo "example shell hook" \'\'; }; '' _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the devShell _Type:_ string _Default:_ `" development development shell"` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) development packages like the lsp and ocamlformat. Those packages get installed in the dev shell too. If the devShell is disabled this option will be ignored. _Type:_ attribute set of string _Default:_ { ocaml-lsp-server = "1.16.2"; ocamlformat = "0.26.1"; utop = "2.13.1"; ocamlfind = "1.9.6"; } _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the dune package. Defined in dune-project _Type:_ string _Default:_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) used internally _Type:_ null or package _(read only)_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) used internally _Type:_ null or raw value _(read only)_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) opam packages like the base compiler _Type:_ attribute set of string _Default:_ `{ ocaml-base-compiler = "5.1.0"; }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) overlay applied to opam-nix _Type:_ raw value _Default:_ `_: _: { }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the dune package. Defined in dune-project _Type:_ absolute path _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) opam-nix flake input _Type:_ raw value _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) treefmt flake input _Type:_ raw value _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) --- # gitlab-ci - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/gitlab-ci.md "Suggest an edit") Creates an app called `.#gitlab-ci` that prints a GitLab dynamic pipeline to stdout. For examples see the [README](https://gitlab.horizon-haskell.net/nix/gitlab-ci) . To use these options, add to your flake inputs: gitlab-ci.url = "git+https://gitlab.horizon-haskell.net/nix/gitlab-ci"; and inside the `mkFlake`: imports = [\ inputs.gitlab-ci.flakeModule\ ]; Run `nix flake lock` and you're set. Whether to enable gitlab-ci. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) The derivation that prints the .gitlab-ci.yml content to stdout. Only override this if you want to change the behaviour of this module. _Type:_ package _Default:_ `` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) Top level `jobs`, expressed as an attribute set. _Type:_ attribute set _Example:_ { build = { script = [\ "echo \"Success\""\ ]; stage = "build"; }; test = { script = [\ "echo \"Success\""\ ]; stage = "test"; }; } _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) The name of this app under `apps`. _Type:_ string _Default:_ `"gitlab-ci"` _Example:_ `"gitlab-ci"` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) List of `stages` under the `stages:` key. _Type:_ list of string _Example:_ [\ "build"\ "test"\ ] _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) --- # home-manager - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/home-manager.md "Suggest an edit") [Home Manager](https://nix-community.github.io/home-manager/) is a tool for managing home directories and user profiles using Nix. To quote, this includes programs, configuration files, environment variables and, well… arbitrary files. For simple setups where the Home Manager flake outputs are defined in one file, you may not need to import this module. For more details and an example, see [Home Manager: flake-parts module](https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-flake-parts-module) . To use these options, add to your flake inputs: home-manager.url = "github:nix-community/home-manager"; and inside the `mkFlake`: imports = [\ inputs.home-manager.flakeModules.home-manager\ ]; Run `nix flake lock` and you're set. Instantiated Home Manager configurations. `homeConfigurations` is for specific installations. If you want to expose reusable configurations, add them to `homeModules` in the form of modules, so that you can reference them in this or another flake’s `homeConfigurations`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [home-manager/flake-module.nix](https://github.com/nix-community/home-manager/blob/master/flake-module.nix) Home Manager modules. You may use this for reusable pieces of configuration, service modules, etc. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [home-manager/flake-module.nix](https://github.com/nix-community/home-manager/blob/master/flake-module.nix) --- # mkdocs-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/mkdocs-flake.md "Suggest an edit") [mkdocs-flake](https://applicative-systems.github.io/mkdocs-flake/) adds documentation targets for your project [mkdocs](https://www.mkdocs.org/) documentation. The provided mkdocs distribution comes pre-packaged with the latest [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) and many useful plugins. After integration, run `nix build .#documentation` to build your documentation. To serve the documentation locally with live-rebuilds, run `nix run .#watch-documentation` Quick example how to integrate it into a flake: { description = "Description for the project"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # (1) add mkdocs-flake input mkdocs-flake.url = "github:applicative-systems/mkdocs-flake"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { # (2) import mkdocs-flake module imports = [\ inputs.mkdocs-flake.flakeModules.default\ ]; systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: { packages.default = pkgs.hello; # (3) point mkdocs-flake to your mkdocs root folder documentation.mkdocs-root = ./docs; # (4) Build the docs: # `nix build .#documentation` # Run in watch mode for live-editing-rebuilding: # `nix run .#watch-documentation` }; }; } For more information, please refer to the [mkdocs-flake documentation: flake.parts integration](https://applicative-systems.github.io/mkdocs-flake/integration/flake-parts.html) . To use these options, add to your flake inputs: mkdocs-flake.url = "github:applicative-systems/mkdocs-flake"; and inside the `mkFlake`: imports = [\ inputs.mkdocs-flake.flakeModule\ ]; Run `nix flake lock` and you're set. The mkdocs package to use. _Type:_ package _Default:_ `"mkdocs-flake.packages.\${system}.mkdocs"` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) Path to your mkdocs documentation project with mkdocs.yml. Relative from your flake.nix. _Type:_ null or absolute path _Default:_ `null` _Example:_ `"./documentation"` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) Whether to enable Build the documentation with `--strict` See also [mkdocs user guide about `--strict`](https://www.mkdocs.org/user-guide/configuration/#strict) . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) --- # mission-control - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/mission-control.md "Suggest an edit") A flake-parts module for your Nix devshell scripts. Lets you configure commands that will be run in the repository root. Provides an informative "message of the day" when launching your shell. See the [Platonic-Systems/mission-control readme](https://github.com/Platonic-Systems/mission-control#readme) . To use these options, add to your flake inputs: mission-control.url = "github:Platonic-Systems/mission-control"; and inside the `mkFlake`: imports = [\ inputs.mission-control.flakeModule\ ]; Run `nix flake lock` and you're set. Specification for the scripts in dev shell _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The generated shell banner. _Type:_ string _Default:_ generated package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) A devShell containing the banner and wrapper. _Type:_ package _(read only)_ _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) List of scripts to be added to the shell _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The category under which this script will be gropuped. _Type:_ string _Default:_ `"Commands"` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) Whether to change the working directory to the project root before running the script. _Type:_ boolean _Default:_ `true` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) A description of what this script does. This will be displayed in the banner and help menu. _Type:_ null or string _Default:_ `null` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The script or package to run The $FLAKE\_ROOT environment variable will be set to the project root, as determined by the github:srid/flake-root module. _Type:_ string or package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The generated wrapper script. _Type:_ package _Default:_ generated package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The name of the wrapper script _Type:_ string _Default:_ `","` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) --- # nix-bindings-rust - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-bindings-rust.md "Suggest an edit") A small support module that takes care of the `nix-bindings-rust` dependency in `nix-cargo-integration` projects. * Provides a module that configures the Nix dependency * Provides `checks..dependency-nix-bindings-*` to ensure that tests are run See [the README](https://github.com/nixops4/nix-bindings-rust#readme) . To use these options, add to your flake inputs: nix-bindings-rust.url = "github:nixops4/nix-bindings-rust"; and inside the `mkFlake`: imports = [\ inputs.nix-bindings-rust.modules.flake.default\ ]; Run `nix flake lock` and you're set. A module to load into your nix-cargo-integration [`perSystem.nci.projects..depsDrvConfig`](https://flake.parts/options/nix-cargo-integration#opt-perSystem.nci.projects._name_.depsDrvConfig) or similar such options. Example: perSystem = perSystem@{ config, ... }: { nci.projects."my_project".depsDrvConfig = perSystem.config.nix-bindings-rust.nciBuildConfig; } _Type:_ module _Declared by:_ * [nix-bindings-rust/flake.nix](https://github.com/nixops4/nix-bindings-rust/blob/master/flake.nix) The Nix package to use when building the `nix-bindings-...` crates. _Type:_ package _Default:_ pkgs.nix _Declared by:_ * [nix-bindings-rust/flake.nix](https://github.com/nixops4/nix-bindings-rust/blob/master/flake.nix) --- # nix-topology - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-topology.md "Suggest an edit") With nix-topology you can automatically generate infrastructure and network diagrams as SVGs directly from your NixOS configurations, and get something similar to the diagram [here](https://github.com/oddlama/nix-topology#readme) . It defines a new global module system where you can specify what nodes and networks you have. Most of the work is done by the included NixOS module which automatically collects all the information from your hosts. After including this flake-parts module, you can build your diagram by running `nix build .#topology..config.output`. To use these options, add to your flake inputs: nix-topology.url = "github:oddlama/nix-topology"; and inside the `mkFlake`: imports = [\ inputs.nix-topology.flakeModule\ ]; Run `nix flake lock` and you're set. The evaluated topology configuration, for each of the specified systems. Build the output by running `nix build .#topology.$system.config.output`. _Type:_ lazy attribute set of unspecified value _(read only)_ _Default:_ `"Automatically filled by nix-topology"` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) A list of additional topology modules to evaluate in your global topology. _Type:_ list of unspecified value _Default:_ `[ ]` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) All nixosSystems that should be evaluated for topology definitions. _Type:_ lazy attribute set of unspecified value _Default:_ `lib.filterAttrs (_: x: x.config ? topology) self.nixosConfigurations` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) The package set to use for the topology evaluation on this system. _Type:_ unspecified value _Default:_ `pkgs # (module argument)` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) --- # nix-unit - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-unit.md "Suggest an edit") Run [nix-unit](https://nix-community.github.io/nix-unit/) tests in [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) . See also the [complete example / template](https://nix-community.github.io/nix-unit/examples/flake-parts.html) . To use these options, add to your flake inputs: nix-unit.url = "github:nix-community/nix-unit"; and inside the `mkFlake`: imports = [\ inputs.nix-unit.modules.flake.default\ ]; Run `nix flake lock` and you're set. A nix-unit test suite; as [introduced in the manual](https://nix-community.github.io/nix-unit/examples/simple.html) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ { "test integer equality is reflexive" = { expr = "123"; expected = "123"; }; "frobnicator" = { "testFoo" = { expr = "foo"; expected = "foo"; }; } } _Declared by:_ * [nix-unit/lib/modules/flake/tests-output.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/tests-output.nix) Copy system-agnostic tests from the `flake.tests` attribute into this system’s tests. This ensures that the tests that are not defined in the system-specific tests are still run in `nix flake check`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [nix-unit/lib/modules/flake/system-agnostic.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system-agnostic.nix) The nix-unit package to use. _Type:_ package _Default:_ package from the `nix-unit` flake, using that flake’s `inputs.nixpkgs` (except for `follows`, etc) _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) * \[nix-unit/lib/modules.nix, via option flake.modules.flake.default\](https://github.com/nix-community/nix-unit/blob/main/lib/modules.nix, via option flake.modules.flake.default) Whether to allow network access in the nix-unit tests. This is useful for tests that depend on fetched sources, as is often the case with flake inputs. `nix-unit.inputs` may also be a solution, and tends to perform better. Both solutions can be combined. _Type:_ boolean _Default:_ `false` _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) Input overrides to pass to nix-unit. Since nix-unit will be invoked in the nix sandbox, any flake inputs that are required for the tests must be passed here. This prevents the need to download these inputs for each run. _Type:_ attribute set of absolute path _Default:_ `{ }` _Example:_ { inherit (inputs) nixpkgs flake-parts; } _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) A nix-unit test suite; as [introduced in the manual](https://nix-community.github.io/nix-unit/examples/simple.html) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ { "test integer equality is reflexive" = { expr = "123"; expected = "123"; }; "frobnicator" = { "testFoo" = { expr = "foo"; expected = "foo"; }; } } _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) --- # nixos-healthchecks - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nixos-healthchecks.md "Suggest an edit") [nixos-healthchecks](https://github.com/mrVanDalo/nixos-healthchecks) provide NixOS-Options to verify if your services are running correctly. healthchecks.http.nextcloud = { url = "https://example.com/login"; expectedContent = "Login"; }; services.nextcloud = { ... }; Than run nix run .#healthchecks To use these options, add to your flake inputs: nixos-healthchecks.url = "github:mrVanDalo/nixos-healthchecks"; and inside the `mkFlake`: imports = [\ inputs.nixos-healthchecks.flakeModule\ ]; Run `nix flake lock` and you're set. --- # pkgs-by-name-for-flake-parts - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/pkgs-by-name-for-flake-parts.md "Suggest an edit") [pkgs-by-name-for-flake-parts](https://github.com/drupol/pkgs-by-name-for-flake-parts) is a flake-parts that can autoload Nix packages under a particular directory. It transform a directory tree containing package files suitable for callPackage into a matching nested attribute set of derivations. Find the documentation and example in the [manual](https://nixos.org/manual/nixpkgs/stable/index.html#function-library-lib.filesystem.packagesFromDirectoryRecursive) . Quick example how to use it: { inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # (1) add `pkgs-by-name-for-flake-parts` input pkgs-by-name-for-flake-parts.url = "github:drupol/pkgs-by-name-for-flake-parts"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; # (2) import pkgs-by-name-for-flake-parts module imports = [\ inputs.pkgs-by-name-for-flake-parts.flakeModule\ ]; perSystem = { config, self', inputs', pkgs, system, ... }: { # (3) point to your directory containing Nix packages pkgsDirectory = ./nix/pkgs-by-name; }; }; } If set, the flake will import packages from the specified directory. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [pkgs-by-name-for-flake-parts/flake-module.nix](https://github.com/drupol/pkgs-by-name-for-flake-parts/blob/main/flake-module.nix) The separator to use when flattening package names. _Type:_ string _Default:_ `"/"` _Declared by:_ * [pkgs-by-name-for-flake-parts/flake-module.nix](https://github.com/drupol/pkgs-by-name-for-flake-parts/blob/main/flake-module.nix) --- # pydev - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/pydev.md "Suggest an edit") [pydev](https://github.com/oceansprint/pydev) is an opinionated environment for developing Python packages. To use these options, add to your flake inputs: pydev.url = "github:oceansprint/pydev"; and inside the `mkFlake`: imports = [\ inputs.pydev.flakeModule\ ]; Run `nix flake lock` and you're set. Extra dependencies for tests. _Type:_ list of string _Declared by:_ * [pydev/interface.nix](https://github.com/oceansprint/pydev/blob/main/interface.nix) Supported Python versions. _Type:_ list of string _Declared by:_ * [pydev/interface.nix](https://github.com/oceansprint/pydev/blob/main/interface.nix) --- # proc-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/proc-flake.md "Suggest an edit") A module for running multiple processes in a dev shell. [honcho](https://github.com/nickstenning/honcho) is used to launch the processes. See [proc-flake README](https://github.com/srid/proc-flake#readme) To use these options, add to your flake inputs: proc-flake.url = "github:srid/proc-flake"; and inside the `mkFlake`: imports = [\ inputs.proc-flake.flakeModule\ ]; Run `nix flake lock` and you're set. Configuration for processes to run in the development environment. _Type:_ submodule _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) Process groups that can be invoked individually. _Type:_ attribute set of (submodule) _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) The package to use to run the given process group. _Type:_ package _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) Processes to run simultaneously when running this group. _Type:_ attribute set of (submodule) _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) The command to run the given process. _Type:_ string _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) --- # rust-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/rust-flake.md "Suggest an edit") [`rust-flake`](https://github.com/juspay/rust-flake) scans your flake files for Rust projects and turns them into packages using [crane](https://crane.dev/) . It also provides [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) (clippy) and [`devShells`](https://flake.parts/options/flake-parts#opt-perSystem.devShells) Multi-crate workspaces are supported. To use these options, add to your flake inputs: rust-flake.url = "github:juspay/rust-flake"; and inside the `mkFlake`: imports = [\ inputs.rust-flake.flakeModules.default\ inputs.rust-flake.flakeModules.nixpkgs\ ]; Run `nix flake lock` and you're set. Cargo.toml parsed in Nix _Type:_ attribute set of raw value _Default:_ fromTOML (readFile (self + "/Cargo.toml")) _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) The value of `crane.mkLib pkgs` providing crane library functions _Type:_ lazy attribute set of raw value _Default:_ ``computed from `rust-flake.inputs.crane` and [`perSystem.rust-project.toolchain`](#opt-perSystem.rust-project.toolchain)`` _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) The Nix file to import automatically if it exists in the crate directory. By default, nothing is automagically imported. _Type:_ null or string _Default:_ `null` _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) Attrset of crates pointing to the local path, which has its Cargo.toml file _Type:_ attribute set of (submodule) _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) List of flake output types to autowire. Using an empty list will disable autowiring entirely, enabling you to manually wire them using `config.rust-project.crates..crane.outputs`. _Type:_ list of (one of “crate”, “doc”, “clippy”) _Default:_ [\ "crate"\ "doc"\ "clippy"\ ] _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The parsed Cargo.toml file _Type:_ attribute set of raw value _Default:_ fromTOML (readFile (path + "/Cargo.toml")) _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Aguments to pass to crane’s `buildPackage` and `buildDepOnly` _Type:_ open submodule of attribute set of raw value _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) (Runtime) buildInputs for the cargo package _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) nativeBuildInputs for the cargo package _Type:_ list of package _Default:_ with pkgs; [ pkg-config makeWrapper ] _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Whether to enable Add flake check for cargo clippy. _Type:_ boolean _Default:_ `true` _Example:_ `true` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Extra arguments to pass to crane’s buildPackage function _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) All Nix packages for the Rust crate _Type:_ lazy attribute set of package _Default:_ lib.mergeAttrs (optionalAttrs (elem “crate” config.autoWire) { “${name}” = config.crane.outputs.drv.crate; }) (optionalAttrs (elem “doc” config.autoWire) { “${name}-doc” = config.crane.outputs.drv.doc; }) _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) All Nix flake checks for the Rust crate _Type:_ lazy attribute set of package _Default:_ optionalAttrs (elem "clippy" config.autoWire && crane.clippy.enable) { "${name}-clippy" = config.crane.outputs.drv.clippy; } _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate clippy check _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate documentation _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The path to the crate folder _Type:_ absolute path _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Default arguments for `config.rust-project.crates..crane.args` _Type:_ module _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/defaults.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/defaults.nix) Source directory for the rust-project package _Type:_ absolute path _Default:_ Files in this flake (`self`) filtered by crane _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) Rust toolchain to use for the rust-project package _Type:_ package _Default:_ Based on the `rust-toolchain.toml` file in the flake directory _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) --- # terranix - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/terranix.md "Suggest an edit") [terranix](https://terranix.org/) is a terraform.json generator with a nix-like feeling. To use these options, add to your flake inputs: terranix.url = "github:terranix/terranix"; and inside the `mkFlake`: imports = [\ inputs.terranix.flakeModule\ ]; Run `nix flake lock` and you're set. Whether to export a `devShell` for each terranix configuration. If you wish to create the `devShells` yourself, you can disable this option and use `pkgs.mkShell.inputsFrom` with `terranix.terranixConfigurations..result.devShell`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) A submodule of all terranix configurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Extra arguments that are accessible from Terranix configuration. _Type:_ attribute set of anything _Default:_ `{ }` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Modules of the Terranix configuration. _Type:_ list of module _Default:_ `[ ]` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) A collection of useful read-only outputs by this configuration. For debugging or otherwise. _Type:_ submodule _(read only)_ _Default:_ `{ }` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The exposed default app. Made from `result.scripts.apply`. Yes, only a single app, and simply running it as `nix run .#foo` would yield a `terraform apply` for the config `foo`. But then how does random terraform invocations like `nix run .#foo.destroy` work? It’s actually still using the same app as before - you’re still in the `apply` derivation, as strange as it sounds. The magic lies in the use of derivation `passthru` which (simplified) lets you namespace other derivations inside a main derivation. In other words, `nix run .#foo` runs the `apply` derivation named `foo` like normally. `nix run .#foo.destroy` runs the `destroy` script inside of the `apply` derivation. This workaround is required because the flake schema outputs have no concept of nesting derivations like this - i.e. `apps.x86_64-linux.foo` HAS to resolve to a derivation and NOT an attrset. The `legacyPackages` output is an exception to this rule. It was created because `nixpkgs` constantly nest derivations (consider package sets like `python311Packages`), so an escape hatch was needed for flakes who needed to refer to these nested derivations. But having scripts reside in this output made no semantic sense, so this was done instead as a conceptual simplication. _Type:_ unspecified value _Default:_ ``"The default app which defaults to the `apply` script."`` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The exposed devShell. Note that you have to re-enter/ your devShell when your configuration changes! The invocation scripts will still target your old configuration otherwise. For those who want `devShell`\-based access like $ nix develop .#foo $ apply $ destroy As opposed to `app`\-based access like $ nix run .#foo $ nix run .#foo.destroy _Type:_ unspecified value _Default:_ `"The final devShell with scripts and terraform wrapper."` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The exposed Terraform scripts (apply, etc). _Type:_ unspecified value _Default:_ '' { init = mkTfScript "init" ''' terraform init '''; apply = mkTfScript "apply" ''' terraform init terraform apply '''; plan = mkTfScript "plan" ''' terraform init terraform plan '''; destroy = mkTfScript "destroy" ''' terraform init terraform destroy '''; } '' _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The exposed Terranix configuration as created by lib.terranixConfiguration. _Type:_ unspecified value _Default:_ `"The final Terraform configuration JSON."` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The exposed, wrapped Terraform. _Type:_ package _Default:_ `"The Terraform wrapper."` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) The terraform package to use. Specifies which Terraform implementation you want to use. You may also specify which plugins you want to use with your Terraform implementation: pkgs.terraform.withPlugins (p: [ p.external p.local p.null ]) or for OpenTofu: pkgs.opentofu.withPlugins (p: [ p.external p.local p.null ]) _Type:_ package _Default:_ `pkgs.terraform` _Example:_ `pkgs.opentofu` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Extra runtimeInputs for the terraform invocations. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Extra commands to run in the wrapper before invoking Terraform _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Extra commands to run in the wrapper after invoking Terraform _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) Working directory of the terranix configuration. Defaults to submodule name. _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [terranix/flake-module.nix](https://github.com/terranix/terranix/blob/main/flake-module.nix) --- # nixops4 - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nixops4.md "Suggest an edit") [NixOps4](https://nixops.dev/) is a platform for any kind of deployment in much the same way Nix is a platform for any build. **⚠️ It is currently in development and changing** To use these options, add to your flake inputs: nixops4.url = "github:nixops4/nixops4"; and inside the `mkFlake`: imports = [\ inputs.nixops4.modules.flake.default\ ]; Run `nix flake lock` and you're set. An attribute set of NixOps4 deployments. See [`Module Options`](https://nixops.dev/manual/development/modules/) . Each deployment passed to [`mkDeployment`](https://nixops.dev/manual/development/lib/#mkDeployment) . Definitions in `nixops4Deployments.` give rise to the definitions: * `flake.nixops4Configurations.` - the flake output attribute for NixOps4, * `perSystem.checks.nixops-deployment-providers-` ([`perSystem.checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) ), to make sure the deployment’s resource providers are available on the supported flake systems - i.e. that the deployment can performed _from_ all [systems](https://flake.parts/options/flake-parts#opt-systems) . _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [nixops4/nix/flake-parts/flake-parts.nix](https://github.com/nixops4/nixops4/blob/main/nix/flake-parts/flake-parts.nix) The resource providers to use. Resource providers are the executables that implement the operations on resources. While provider information can be provided directly in the resource, this indirection allows for the same provider to be used for multiple resources conveniently. It also allows for expressions to extract just the providers from a deployment configuration. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ { local = inputs.nixops4.modules.nixops4Provider.local; foo = inputs.nixops4-resources-foo.modules.nixops4Provider.default; } _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) Any command line arguments to pass to the executable. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) A description of what the resource provider does. This will be displayed on the provider’s documentation index page. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The path to the executable that implements the resource operations. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) The display name of the resource provider. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The types of resources that this provider can create. The purpose of the `resourceTypes` option is to provide the information necessary to create the `providers` module argument. The attribute name under `resourceTypes` is the resource type, and gives rise to `providers..`. _Type:_ lazy attribute set of (submodule) _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) A description of what this resource type represents. _Type:_ string _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) A module that declares the inputs to the resource using its options. _Type:_ module _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) A module that declares the outputs of the resource using its options. _Type:_ module _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.args`](https://flake.parts/options/nixops4.html#opt-nixops4Deployments._name_.resources._name_.provider.args) . _Type:_ list of string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.executable`](https://flake.parts/options/nixops4.html#opt-nixops4Deployments._name_.resources._name_.provider.executable) . _Type:_ string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.type`](https://flake.parts/options/nixops4.html#opt-nixops4Deployments._name_.resources._name_.provider.type) . _Type:_ string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Whether the resource requires state to be stored. _Type:_ boolean _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) The type of resource to create. Most resource providers will have some fixed set of resource types. This selects one of them. We suggest to set (override) this only if absolutely necessary for compatibility with earlier versions of a resource. _Type:_ string _Default:_ inherited attribute name _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Base URL for linking to the provider’s source code. Used in generated documentation to create links to option declarations. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) Name of the source repository or project. Used in generated documentation link display text. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The type of communication to use with the resource provider executable. _Type:_ string _Default:_ `"stdio"` _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) The resources to deploy. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) * [nixops4/nix/deployment/resources.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resources.nix) The inputs to the resource. These parameters primarily control the configuration of the resource. They are set by you (a module author or configuration author) and are passed to the resource provider executable. _Type:_ submodule _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The outputs of the resource. These follow from the real world existence of the resource. They are set by NixOps, which in turn gets this information from resource providers. _Type:_ submodule _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) Any command line arguments to pass to the executable. _Type:_ list of (string or (string or absolute path or signed integer) convertible to it) _Default:_ `[ ]` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The path to the executable that implements the resource operations. _Type:_ string _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The type of communication to use with the resource provider executable. _Type:_ value “stdio” (singular enum) _Default:_ `"stdio"` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) Whether the resource requires state to be stored. _Type:_ boolean _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The type of resource to create. Most resource providers will have some fixed set of resource types. _Type:_ string _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The state handler for the resource, if needed. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) A resource type from the `providers` module argument. _Type:_ raw value _Example:_ providers.local.file _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) --- # ez-configs - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/ez-configs.md "Suggest an edit") [`ez-configs`](https://github.com/ehllie/ez-configs) lets you define multiple nixos, darwin, and home manager configurations, and reuse common modules using your flake directory structure. To use these options, add to your flake inputs: ez-configs.url = "github:ehllie/ez-configs"; and inside the `mkFlake`: imports = [\ inputs.ez-configs.flakeModule\ ]; Run `nix flake lock` and you're set. Entry point file for darwinConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing darwinConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/darwin-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all darwinModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating darwinConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific darwinConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { hostA = { userHomeModules = [ "bob" ]; }; hostB = { importDefault = false; arch = "aarch64 }; } _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this host. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) List or attribute set of users in ${ezConfigs.hm.usersDirectory}, whose comfigurations to import as home manager darwinModules. If it’s a list, each user is assumed to have the same name as the homeModule. You can override this by using an attribute set, where the attribute name is the name of the host user, while value is the name of the homeModule. They will be put inside `home-manager.${user}.imports` list for this host. When this option is set, the `home-manager.extraSpecialArgs` option is also set to the one it would recieve in homeManagerConfigurations output, and the appropriate homeManager module is imported. _Type:_ (list of string) or attribute set of string _Default:_ `[ ]` _Example:_ { alice = "alice-minimal"; bob = "bob-full"; } _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing darwinModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/darwin-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all darwinConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all modules before exporting them. _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ inherit inputs; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all configurations. _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ inherit inputs; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Entry point file for homeConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing homeConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/home-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all homeModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all homeConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing homeModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/home-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating homeConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific homeConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { alice = { standalone = { enable = true; pkgs = import nixpkgs { system = "x86_64-linux"; }; }; }; bob = { importDefault = false; }; } _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this user. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Function to generate the name of the user configuration using the host name. _Type:_ null or (function that evaluates to a(n) string) _Default:_ `${username}@${hostname}` _Example:_ `(host: "${host}-${name})")` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to pass the osConfig argument to extraSpecialArgs. This will be the nixosConfiguration.config or darwinConfiguration.config, whose pkgs are being used to build this homeConfiguration. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to create a standalone user configuration. By default each user and host pair gets its own homeConfigurations attribute, and the pkgs passed into homeConfiguration function come from that system. This will prevent the ${user}@${host} outputs from being created. Instead a standalone user configuration will be created with user name. _Type:_ boolean _Default:_ `false` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The package set with which to construct the homeManagerConfiguration. Non standalone user configurations will use the package set of the host system. _Type:_ Nixpkgs package set _Example:_ `import nixpkgs {system = "x86_64-linux"}` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Entry point file for nixosConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing nixosConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/nixos-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all nixosModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating nixosConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific nixosConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ { hostA = { userHomeModules = [ "bob" ]; }; hostB = { importDefault = false; arch = "aarch64 }; } _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this host. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) List or attribute set of users in ${ezConfigs.hm.usersDirectory}, whose comfigurations to import as home manager nixosModules. If it’s a list, each user is assumed to have the same name as the homeModule. You can override this by using an attribute set, where the attribute name is the name of the host user, while value is the name of the homeModule. They will be put inside `home-manager.${user}.imports` list for this host. When this option is set, the `home-manager.extraSpecialArgs` option is also set to the one it would recieve in homeManagerConfigurations output, and the appropriate homeManager module is imported. _Type:_ (list of string) or attribute set of string _Default:_ `[ ]` _Example:_ { alice = "alice-minimal"; bob = "bob-full"; } _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing nixosModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/nixos-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all nixosConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The root from which configurations and modules should be searched. _Type:_ null or absolute path _Default:_ `null` _Example:_ `./.` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) --- # haskell-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/haskell-flake.md "Suggest an edit") [`haskell-flake`](https://community.flake.parts/haskell-flake) scans your flake files for Haskell projects and turns them into packages using the Nixpkgs Haskell infrastructure. It also provides [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) and [`devShells`](https://flake.parts/options/flake-parts#opt-perSystem.devShells) Multiple projects can be declared to represent each package set, which is great for GHCJS frontends. To use these options, add to your flake inputs: haskell-flake.url = "github:srid/haskell-flake"; and inside the `mkFlake`: imports = [\ inputs.haskell-flake.flakeModule\ ]; Run `nix flake lock` and you're set. A lazy attrset of `haskellProjects.` modules that can be imported in other flakes. _Type:_ lazy attribute set of module _Default:_ Package and dependency information for this project exposed for reuse in another flake, when using this project as a Haskell dependency. The ‘output’ module of the default project is included by default, returning `defaults.projectModules.output`. _Declared by:_ * [haskell-flake/nix/modules/project-modules.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-modules.nix) Patch an existing `haskellProject` to run some checks. This module will create a flake check automatically. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Arbitrary expression to evaluate as part of the generated flake check _Type:_ raw value _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Extra configuration to apply to the patched haskell-flake project. _Type:_ module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Which `haskellProjects.??` to patch. _Type:_ string _Default:_ `"default"` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) List of patches to apply to the project root. Each patch can be a path to the diff file, or inline patch string. _Type:_ list of (absolute path or string) _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Haskell projects _Type:_ lazy attribute set of (submodule) _Declared by:_ * [haskell-flake/nix/modules/projects.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/projects.nix) Additional packages to add to `basePackages`. Local packages are added automatically (see `config.defaults.packages`): You can also override the source for existing packages here. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/packages](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/packages) List of flake output types to autowire. Using an empty list will disable autowiring entirely, enabling you to manually wire them using `config.haskellProjects..outputs`. _Type:_ list of (one of “packages”, “checks”, “apps”, “devShells”) _Default:_ [\ "packages"\ "checks"\ "apps"\ "devShells"\ ] _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Which Haskell package set / compiler to use. You can effectively select the GHC version here. To get the appropriate value, run: nix-env -f "" -qaP -A haskell.compiler And then, use that in `pkgs.haskell.packages.ghc` _Type:_ lazy attribute set of raw value _Default:_ `pkgs.haskellPackages` _Example:_ `"pkgs.haskell.packages.ghc924"` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Whether to enable haskell-flake’s default settings for this project. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Local packages scanned from projectRoot _Type:_ lazy attribute set of module _Default:_ If you have a `cabal.project` file (under `projectRoot`), those packages are automatically discovered. Otherwise, the top-level .cabal file is used to discover the only local package. haskell-flake currently supports a limited range of syntax for `cabal.project`. Specifically it requires an explicit list of package directories under the “packages” option. _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Build tools always included in devShell _Type:_ function that evaluates to a(n) lazy attribute set of (null or package) _Default:_ `` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) A haskell-flake project module that exports the `packages` and `settings` options to the consuming flake. This enables the use of this flake’s Haskell package as a dependency, re-using its overrides. _Type:_ module _Default:_ a generated module _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for all packages whose derivations are produced by haskell-flake. For example, { # Inside haskellProjects. imports = [\ inputs.moo.haskellFlakeProjectModules.output\ ]; packages = { foo.source = "0.1"; bar.source = inputs.bar; }; settings = { baz.check = false; }; } and ... build-depends: moo , foo , bar , baz , qux ... This will apply the settings to `moo`, `foo`, `bar`, `baz`. But not to `qux`. _Type:_ module _Default:_ '' Nothing is changed by default. '' _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for all the packages defined using haskell-flake. For example, { # Inside haskellProjects. imports = [\ inputs.moo.haskellFlakeProjectModules.output\ ]; packages = { foo.source = "0.1"; bar.source = inputs.bar; }; settings = { baz.check = false; }; } and ... build-depends: moo , foo , bar , baz , qux ... This will apply the settings to `moo` and packages in current project. But not to `foo`, `bar`, `baz` and `qux`. _Type:_ module _Default:_ '' Speed up builds by disabling haddock and library profiling. Also ensures release-worthiness. This uses `local.toDefinedProject` option to determine which packages to override. Thus, it applies to both local packages as well as transitively imported packags that are local to that flake (managed by haskell-flake). The goal being to use the same configuration consistently for all packages using haskell-flake. '' _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for packages local to the current project. _Type:_ module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Development shell configuration _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Whether to enable a development shell for the project. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Whether to include benchmark dependencies in the development shell. The value of this option will set the corresponding `doBenchmark` flag in the `shellFor` derivation. _Type:_ boolean _Default:_ `false` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra Haskell libraries available in the shell’s environment. These can be used in the shell’s `runghc` and `ghci` for instance. The argument is the Haskell package set. The return type is an attribute set for overridability and syntax, as only the values are used. _Type:_ null or (function that evaluates to a(n) lazy attribute set of (null or package)) _Default:_ `null` _Example:_ `hp: { inherit (hp) releaser; }` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) A [check](https://flake.parts/options/flake-parts#opt-perSystem.checks) to make sure that your IDE will work. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) Whether to enable a flake check to verify that HLS works. This is equivalent to `nix develop -i -c haskell-language-server`. Note that, HLS will try to access the network through Cabal (see [https://github.com/haskell/haskell-language-server/issues/3128](https://github.com/haskell/haskell-language-server/issues/3128) ), therefore sandboxing must be disabled when evaluating this check. _Type:_ boolean _Default:_ `false` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) The `hlsCheck` derivation generated for this project. _Type:_ package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) Whether to include Hoogle in the development shell. The value of this option will set the corresponding `withHoogle` flag in the `shellFor` derivation. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra arguments to pass to `pkgs.mkShell`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ '' { shellHook = \'\' # Re-generate .cabal files so HLS will work (per hie.yaml) ''${pkgs.findutils}/bin/find -name package.yaml -exec hpack {} \; \'\'; }; '' _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Build tools for developing the Haskell project. These tools are merged with the haskell-flake defaults defined in the `defaults.devShell.tools` option. Set the value to `null` to remove that default tool. _Type:_ function that evaluates to a(n) lazy attribute set of (null or package) _Default:_ `` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra overlays to apply. Normally, you would only use `packages.*` and `settings.*` (which translate to overlays), but you can use this option if you want control over the final overlay. _Type:_ list of A Haskell overlay function taking ‘self’ and ‘super’ args. _Default:_ `[ ]` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) The flake outputs generated for this project. This is an internal option, not meant to be set by the user. _Type:_ submodule _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Package information for all local packages. Contains the following keys: * `package`: The Haskell package derivation * `exes`: Attrset of executables found in the .cabal file _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) The local package derivation. _Type:_ package _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Attrset of executables from `.cabal` file. If the associated Haskell project has a separate bin output (cf. `enableSeparateBinOutput`), then this exe will refer only to the bin output. NOTE: Evaluating up to this option will involve IFD. _Type:_ lazy attribute set of (submodule) _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Flake apps for each Cabal executable in the project. _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) The flake checks generated for this project. _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) The development shell derivation generated for this project. _Type:_ package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) The final Haskell package set including local packages and any overrides, on top of `basePackages`. _Type:_ lazy attribute set of raw value _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A descriptive name for the flake in which this project resides. If unspecified, the Nix store path’s basename will be used. _Type:_ null or string _Default:_ `null` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Path to the root of the project directory. Chaning this affects certain functionality, like where to look for the ‘cabal.project’ file. _Type:_ absolute path _Default:_ `"Top-level directory of the flake"` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Overrides for packages in `basePackages` and `packages`. Attr values are submodules that take the following arguments: * `name`: Package name * `package`: The reference to the package in `packages` option if it exists, null otherwise. * `self`/`super`: The ‘self’ and ‘super’ (aka. ‘final’ and ‘prev’) used in the Haskell overlay. * `pkgs`: Nixpkgs instance of the module user (import’er). Default settings are defined in `project.config.defaults.settings` which can be overriden. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/settings](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/settings) --- # nix-cargo-integration - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-cargo-integration.md "Suggest an edit") Easily integrate your Rust projects into Nix. See the [readme](https://github.com/yusdacra/nix-cargo-integration#readme) . The source path that will be used as the ‘flake root’. By default this points to the directory ‘flake.nix’ is in. _Type:_ absolute path _Default:_ `"self"` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Configure devshells with flake-parts. Not to be confused with `devShells`, with a capital S. Yes, this is unfortunate. Each devshell will also configure an equivalent `devShells`. Used to define devshells. not to be confused with `devShells` _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [nix-cargo-integration/src/implementation.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/implementation.nix) Crate configurations _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ { my-crate = { export = true; }; } _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Profile to use for the tests only package _Type:_ null or string _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Profile to use for clippy only package Note that you will need to add ‘clippy’ as a component to the rust toolchain you are using yourself _Type:_ null or boolean _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Profile to use for the docs only package _Type:_ null or string _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Whether to export this all of this crate’s outputs (if set will override project-wide setting) _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Whether to include this crate’s docs in the project docs package _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) If set, the given numtide devshell `devshells.` will be populated with the required packages and environment variables to build this crate. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/options/numtideDevshell.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/numtideDevshell.nix) Profiles to generate packages for this crate (if set will override project-wide setting) _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Example:_ { dev = {}; release.runTests = true; custom-profile.features = ["some" "features"]; } _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Features to enable for this profile. Set to ‘null’ to enable default features only (this is the default). If set to a list of features then ‘–no-default-features’ will be passed to Cargo. If you want to also enable default features you can add ‘default’ feature to the list of features. _Type:_ null or (list of string) _Default:_ `"[\"default\"]"` _Example:_ ["tracing" "publish"] _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) Whether to run tests for this profile _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) What to rename this crate’s outputs to in `nix flake show` _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Runtime libraries that will be: * patched into the binary at build time, * present in `LD_LIBRARY_PATH` environment variable in development shell. Note that when it’s patched in at build time, a separate derivation will be created that “wraps” the original derivation to not cause the whole crate to recompile when you only change `runtimeLibs`. The original derivation can be accessed via `.passthru.unwrapped` attribute. _Type:_ list of package _Default:_ `[ ]` _Example:_ [pkgs.alsa-lib pkgs.libxkbcommon] _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Targets to generate packages for this crate (if set will override project-wide setting) _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Example:_ { wasm32-unknown-unknown.profiles = ["release"]; x86_64-unknown-linux-gnu.default = true; } _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Whether or not this target is the default target _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The profiles to generate packages for this target. _Type:_ null or (list of string) _Default:_ `"all profiles"` _Example:_ ["dev" "release" "custom-profile"] _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) A function to build a crate from a provided source (and crate path if workspace) automagically The arguments are: * `src`: the source for the project (or crate if it’s just a crate) * `cratePath`: relative path to the provided `src`, used to find the crate if it’s a workspace * `mkRustToolchain`: function that outputs a rust toolchain package (like `nci.toolchains.mkBuild`, which is also the default), will be used when building * `drvConfig` and `depsDrvConfig`: see `nci.crates..` in this documentation (optional) _Type:_ function that evaluates to a(n) package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Each crate’s (or project’s) outputs _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Packages of this crate mapped to profiles _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) All packages for all targets _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Packages of this crate mapped to profiles _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Tests only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Clippy only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) The development shell for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Docs only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Projects (workspaces / crates) to generate outputs for _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ { # define the absolute path to the project my-project.path = ./.; } _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) `checkProfile` option that will affect all packages in this project. For more information refer to `nci.crates..checkProfile` option. _Type:_ string _Default:_ `"release"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `clippyProfile` option that will affect all packages in this project. For more information refer to `nci.crates..clippyProfile` option. _Type:_ string _Default:_ `"dev"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The crate to link it’s index.html when building project docs. The default will be not symlinking any index.html. _Type:_ null or string _Default:_ `null` _Example:_ `"my-crate"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `docsProfile` option that will affect all packages in this project. For more information refer to `nci.crates..docsProfile` option. _Type:_ string _Default:_ `"release"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) `export` option that will affect all packages in this project. For more information refer to `nci.crates..export` option. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `includeInProjectDocs` option that will affect all packages in this project. For more information refer to `nci.crates..includeInProjectDocs` option. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) If set, the given numtide devshell `devshells.` will be populated with the required packages and environment variables to build this crate. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/options/numtideDevshell.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/numtideDevshell.nix) The absolute path of this project _Type:_ absolute path _Example:_ `./path/to/project` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `profiles` option that will affect all packages in this project. For more information refer to `nci.crates..profiles` option. _Type:_ attribute set of (submodule) _Default:_ { dev = { }; release = { runTests = true; }; } _Example:_ { dev = {}; release.runTests = true; custom-profile.features = ["some" "features"]; } _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Features to enable for this profile. Set to ‘null’ to enable default features only (this is the default). If set to a list of features then ‘–no-default-features’ will be passed to Cargo. If you want to also enable default features you can add ‘default’ feature to the list of features. _Type:_ null or (list of string) _Default:_ `"[\"default\"]"` _Example:_ ["tracing" "publish"] _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) Whether to run tests for this profile _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) `runtimeLibs` option that will affect all packages in this project. For more information refer to `nci.crates..runtimeLibs` option. _Type:_ list of package _Default:_ `[ ]` _Example:_ [pkgs.alsa-lib pkgs.libxkbcommon] _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `targets` option that will affect all packages in this project. For more information refer to `nci.crates..targets` option. _Type:_ attribute set of (submodule) _Default:_ '' { .default = true; } '' _Example:_ { wasm32-unknown-unknown.profiles = ["release"]; x86_64-unknown-linux-gnu.default = true; } _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Whether or not this target is the default target _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ { mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; } _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The profiles to generate packages for this target. _Type:_ null or (list of string) _Default:_ `"all profiles"` _Example:_ ["dev" "release" "custom-profile"] _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) The toolchain configuration that will be used _Type:_ null or absolute path or (attribute set) _Default:_ `null` _Example:_ `./rust-subproject/rust-toolchain.toml` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) The function to (given a nixpkgs instance) generate a toolchain that will be used when building derivations _Type:_ function that evaluates to a(n) package _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) The function to (given a nixpkgs instance) generate a toolchain that will be used in the development shell _Type:_ function that evaluates to a(n) package _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) --- # flake.parts-website - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/flake.parts-website.md "Suggest an edit") This module is used to build the flake.parts website. Refer to the [Generate Documentation guide](https://flake.parts/generate-documentation) for more information. Its interface is subject to change but moves slowly and changes should be simple. To use these options, add to your flake inputs: flake.parts-website.url = "github:hercules-ci/flake.parts-website"; and inside the `mkFlake`: imports = [\ inputs.flake.parts-website.flakeModules.empty-site\ ]; Run `nix flake lock` and you're set. Whether to install the rendered docs to `perSystem.packages`. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Which modules to render. The rendered docs are installed as `perSystem.packages.generated-docs-`, unless [`enable`](https://flake.parts/options/flake.parts-website.html#opt-perSystem.render.enable) is set to false. _Type:_ attribute set of (submodule) _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether this module is archived. _Type:_ boolean _Default:_ `false` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Default value for `attributePaths`. _Type:_ unspecified value _Default:_ [\ "flakeModule"\ ] _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Flake output attribute path to import. _Type:_ list of list of string _Default:_ [\ [\ "flakeModule"\ ]\ ] _Example:_ [\ [\ "flakeModules"\ "nixos"\ ]\ [\ "flakeModules"\ "home-manager"\ ]\ ] _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) URL prefix for source location links. _Type:_ string _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Extra flake inputs to provide to the module evaluation. This is a last resort. Modules should generally query availability of other modules by looking for their options with `options ? foo.bar` and degrading gracefully when optional integrations are not available. Use this only when a module unconditionally requires specific inputs during evaluation and cannot be modified to degrade gracefully. _Type:_ attribute set of raw value _Default:_ `{ }` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Function to customize the set of options to render for this input. This is mostly for overriding the default behavior, which excludes the options of the flake-parts module itself, unless it’s the flake-parts core itself that’s being rendered. _Type:_ unspecified value _Default:_ `` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Replace same-page links without `opt-` prefix with this prefix. _Type:_ null or string _Default:_ `null` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) A flake. _Type:_ raw value _Default:_ `inputs.${name}` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Flake reference string that refers to the flake to import, used in the generated text for the installation instructions, see `installation`. _Type:_ string _Default:_ Determined from `config.baseUrl`. _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Get the modules to render. _Type:_ function that evaluates to a(n) list of raw value _Default:_ Derived from `config.attributePaths`, `` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Installation paragraph between installation and options. _Type:_ string _Default:_ Generated _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether to show how to declare the input. _Type:_ boolean _Default:_ `true` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Introductory paragraph between title and installation. _Type:_ string _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether this input is empty, ie has no documented options. Normally this is indicative of a inaccurate tracking of declaration sources, or declaring options in `perSystem.config` instead of `mkPerSystemOption`. If your module really has no options of its own (ie only imports and config), set this to true. _Type:_ boolean _Default:_ `false` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether to add this page to the navigation menu. Modules in the flake-parts repo disable this, as they’re hardcoded into the menu. _Type:_ boolean _Default:_ `true` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Title of the menu entry. _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Stuff between the title and the options. _Type:_ string _Default:_ `intro` followed by `installation` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) A package containing the generated documentation page. _Type:_ package _(read only)_ _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether to include this in the main evaluation. By default, all modules are evaluated together, except ones that enable this option. _Type:_ boolean _Default:_ `false` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Name by which the source is shown in the list of declarations. _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Source path in which the modules are contained. _Type:_ absolute path _Default:_ `config.flake.outPath` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Title of the markdown page. _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) Whether to treat documentation warnings as errors. Set to false for modules with incomplete documentation. _Type:_ boolean _Default:_ `true` _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) The inputs from the `flake.parts-website` flake. This supplements the `inputs` module argument when the rendering module is used in a different flake. _Type:_ raw value _(read only)_ _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) The generated-docs package. Contains the rendered docs for all of [`inputs`](https://flake.parts/options/flake.parts-website.html#opt-perSystem.render.inputs) , along with a `menu.md` summary file. Installed as `perSystem.packages.generated-docs`, unless [`enable`](https://flake.parts/options/flake.parts-website.html#opt-perSystem.render.enable) is set to false. _Type:_ package _(read only)_ _Declared by:_ * [flake.parts-website/render/render-module.nix](https://github.com/hercules-ci/flake.parts-website/blob/main/render/render-module.nix) --- # hercules-ci-effects - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/hercules-ci-effects.md "Suggest an edit") This module provides * a mergeable `herculesCI` attribute; read by [Hercules CI](https://hercules-ci.com/) and the [`hci`](https://docs.hercules-ci.com/hercules-ci-agent/hci/) command, * the [`hci-effects`](https://docs.hercules-ci.com/hercules-ci-effects/guide/import-or-pin/#_flakes_with_flake_parts) library as a module argument in `perSystem` / `withSystem`, * ready to go, configurable continuous deployment jobs To use these options, add to your flake inputs: hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects"; and inside the `mkFlake`: imports = [\ inputs.hercules-ci-effects.flakeModule\ ]; Run `nix flake lock` and you're set. The default system type that some integrations will use to run their effects on. _Type:_ string _Default:_ `"x86_64-linux"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-helpers.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-helpers.nix) Whether to create a scheduled flake update job. For a complete example, see [the hercules-ci-effects documentation on `hercules-ci.flake-update`](https://docs.hercules-ci.com/hercules-ci-effects/reference/flake-parts/flake-update/) . _Requires hercules-ci-agent 0.9.8 or newer._ _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Whether to enable auto-merge on new pull requests, and how to merge it. This requires [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) to be configured for the repository. _Type:_ one of , “merge”, “rebase”, “squash” _Default:_ `null` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Branch name on the remote that the update branch will be * based on (via `hercules-ci.flake-update.baseMerge.branch`), and * merged back into if `hercules-ci.flake-update.createPullRequest` is enabled. `"HEAD"` refers to the default branch, which is often `main` or `master`. _Type:_ string _Default:_ `"HEAD"` _Example:_ `"develop"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Whether to merge the base branch into the update branch before running the update. This is useful to ensure that the update branch is up to date with the base branch. If this option is `false`, you may have to merge or rebase the update branch manually sometimes. _Type:_ boolean _Default:_ `false` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Branch name on the remote to merge into the update branch before running the update. Used when `hercules-ci.flake-update.baseMerge.enable` is true. _Type:_ string _Default:_ `hercules-ci.flake-update.baseBranch` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) How to merge the base branch into the update branch before running the update. Used when `hercules-ci.flake-update.baseMerge.enable` is true. _Type:_ one of “merge”, “rebase” _Default:_ `"merge"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Whether to create a pull request for the updated `flake.lock`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) A module that extends the flake-update effect arbitrarily. See also: * [Effect Modules / Core Options](https://docs.hercules-ci.com/hercules-ci-effects/reference/effect-modules/core) * [Effect Modules / Git Options](https://docs.hercules-ci.com/hercules-ci-effects/reference/effect-modules/git) _Type:_ module _Default:_ `{ }` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) The [system](https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-system) on which to run the flake update job. _Type:_ string _Default:_ `config.defaultEffectSystem` _Example:_ `"aarch64-linux"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Flakes to update. The attribute names refer to the relative paths where the flakes/subflakes are located in the repository. The values specify further details about how to update the lock. See the sub-options for details. NOTE: If you provide a definition for this option, it does _not_ extend the default. You must specify all flakes you want to update, including the project root (`"."`) if applicable. _Type:_ attribute set of (submodule) _Default:_ { "." = { }; } _Example:_ { "." = { commitSummary = "/flake.lock: Update"; }; "path/to/subflake" = { inputs = [\ "nixpkgs"\ ]; }; } _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Summary for commit. “” means to use the default. _Type:_ string _Default:_ `""` _Example:_ `"chore: update flake inputs"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) Flake inputs to update. The default, `[]` means to update all inputs. _Type:_ list of string _Default:_ `[ ]` _Example:_ `"[\"nixpkgs\" \"nixpkgs-unstable\"]"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) The type of Git server commited to. _Type:_ string _Default:_ `"github"` _Example:_ `"gitlab"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) The Nix package to use for performing the lockfile updates. The function arguments are the module arguments of `perSystem` for `hercules-ci.flake-update.effect.system`. _Type:_ function that evaluates to a(n) package _Default:_ `{ pkgs, ... }: pkgs.nix` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) The body of the pull request being made _Type:_ null or string _Default:_ '' Update `flake.lock`. See the commit message(s) for details. You may reset this branch by deleting it and re-running the update job. git push origin :flake-update '' _Example:_ `"updated flake.lock"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) The title of the pull request being made _Type:_ string _Default:_ ``"`flake.lock`: Update"`` _Example:_ `"chore: update flake.lock"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) To which branch to push the updated `flake lock`. _Type:_ string _Default:_ `"flake-update"` _Example:_ `"update"` _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) See [`herculesCI.onSchedule..when`](https://flake.parts/options/hercules-ci-effects.html#opt-herculesCI.onSchedule._name_.when) for details. _Type:_ raw value _Declared by:_ * [hercules-ci-effects/effects/flake-update/flake-module.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/effects/flake-update/flake-module.nix) A GitHub Pages deployment will be triggered when changes are pushed to this branch. A non-null value enables the effect. _Type:_ null or string _Default:_ `null` _Declared by:_ * [hercules-ci-effects/flake-modules/github-pages.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-pages.nix) Whether to make sure that the effect is buildable. This adds `checks.${config.defaultEffectSystem}.gh-pages` to `onPush.default`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [hercules-ci-effects/flake-modules/github-pages.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-pages.nix) The Hercules CI job in which to perform the deployment. By default the GitHub pages deployment is triggered by the `onPush.default` job, so that the deployment only proceeds when the default builds are successful. _Type:_ string _Default:_ `"default"` _Declared by:_ * [hercules-ci-effects/flake-modules/github-pages.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-pages.nix) Modular settings for the GitHub Pages effect. For system-dependent settings, define [`perSystem.hercules-ci.github-pages.settings`](https://flake.parts/options/hercules-ci-effects.html#opt-perSystem.hercules-ci.github-pages.settings) instead. See [`gitWriteBranch`](https://docs.hercules-ci.com/hercules-ci-effects/reference/nix-functions/gitWriteBranch.html#effect_options) for options. _Type:_ module _Example:_ { message = "Update GitHub Pages"; } _Declared by:_ * [hercules-ci-effects/flake-modules/github-pages.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-pages.nix) Condition under which to check whether artifacts can be built. _Type:_ function that evaluates to a(n) boolean _Default:_ `_: true` _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Condition under which a release is going to be pushed. This is a function accepting [HerculesCI parameters](https://docs.hercules-ci.com/hercules-ci-agent/evaluation#params-herculesCI) and returning boolean. By default, pushing happens if a tag is present. _Type:_ function that evaluates to a(n) boolean _Default:_ { tag, ... }: tag != null _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) List of asset files or archives. Each entry must be either an attribute set of type * `{ label: string, path: string }` for a single file, or * `{ label: string, paths: [string], archiver: 'zip' }` for an archive. In case of archive, `paths` may contain directories: their _contents_ will be archived recursively. _Type:_ list of (submodule) _Default:_ `[]` _Example:_ [\ {\ label = "api.json";\ path = withSystem "x86_64-linux" ({config, ...}: config.packages.api-json);\ }\ {\ label = "api-docs.zip";\ paths = withSystem "x86_64-linux" ({config, ...}: [ config.packages.api-docs ]);\ archiver = "zip";\ }\ ] _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) The archiver to use for the archive. This must be set when `paths` is set. _Type:_ value “zip” (singular enum) _Default:_ _(unset)_ _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Label of the asset file or archive. This is the name that will be used in the GitHub release. _Type:_ string _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Path to the asset file. Must not be a directory. Mutually exclusive with `paths`. _Type:_ absolute path _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Paths to the asset files. Mutually exclusive with `path`. Directories are allowed, and their contents will be archived recursively. _Type:_ list of absolute path _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) List of asset files or archives for each system. The arguments passed are the same as those passed to `perSystem` modules. The function is invoked for each of the [`systems`](https://flake.parts/options/hercules-ci-effects.html#opt-hercules-ci.github-releases.systems) . The returned labels must be unique across invocations. This generally means that you have to include the `system` value in the attribute names. NOTE: If you are implementing generic logic, consider placing the function in a `mkIf`, so that the function remains undefined in cases where it is statically known to produce no files. When `filesPerSystem` has no definitions, a traversal of potentially many `perSystems` modules is avoided. _Type:_ function that evaluates to a(n) list of (submodule) _Example:_ { system, config, ... }: [\ {\ label = "foo-static-${system}";\ path = lib.getExe config.packages.foo-static;\ }\ ] _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) The archiver to use for the archive. This must be set when `paths` is set. _Type:_ value “zip” (singular enum) _Default:_ _(unset)_ _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Label of the asset file or archive. This is the name that will be used in the GitHub release. _Type:_ string _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Path to the asset file. Must not be a directory. Mutually exclusive with `paths`. _Type:_ absolute path _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Paths to the asset files. Mutually exclusive with `path`. Directories are allowed, and their contents will be archived recursively. _Type:_ list of absolute path _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Name of the Hercules CI job in which to perform the deployment. By default the GitHub pages deployment is triggered by the `onPush.default` job, so that the deployment only proceeds when the default builds are successful. _Type:_ string _Default:_ `default` _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Tag to be assigned to the release. _Type:_ function that evaluates to a(n) string _Default:_ `herculesCI: herculesCI.config.repo.tag` _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) List of systems for which to call [`filesPerSystem`](https://flake.parts/options/hercules-ci-effects.html#opt-hercules-ci.github-releases.filesPerSystem) . _Type:_ null or (list of string) _Default:_ `null`, which means that [`herculesCI.ciSystems`](https://flake.parts/options/hercules-ci-effects.html#opt-herculesCI.ciSystems) will be used. _Declared by:_ * [hercules-ci-effects/flake-modules/github-releases](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-releases) Hercules CI environment and configuration. See the sub-options for details. This module represents a function. Hercules CI calls this function to provide expressions in the flake with extra information, such as repository and job metadata. While this attribute feels a lot like a submodule, it can not be queried by definitions outside of `herculesCI`. This is required by the design of flakes: evaluation of the standard flake attribute values is hermetic. Data that is unique to Hercules CI (as opposed to the flake itself) is provided by in the sub-options of `herculesCI`. This is syntactically different from the [native `herculesCI` attribute interface](https://docs.hercules-ci.com/hercules-ci-agent/evaluation#params-herculesCI) . For example, instead of `{ primaryRepo, ... }: ... primaryRepo.ref`, you would write `{ config, ... }: ... config.repo.ref`. See e.g. [`ref`](https://flake.parts/options/hercules-ci-effects.html#opt-herculesCI.repo.ref) . _Type:_ module _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-helpers.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-helpers.nix) * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) Flake systems for which to generate attributes in `herculesCI.onPush.default.outputs`. _Type:_ list of string _Default:_ `config.systems # from flake parts` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) This declares what to do when a Git ref is updated, such as when you push a commit or after you merge a pull request. By default `onPush.default` defines a job that builds the known flake output attributes. It can be disabled by setting `onPush.default.enable = false;`. The name of the job (from `onPush.`) will be used as part of the commit status of the resulting job. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) A collection of builds and effects. These may be nested recursively into attribute sets. Hercules CI’s traversal of nested sets can be cancelled with `lib.dontRecurseIntoAttrs`. See the parent option for details about when the job runs. _Type:_ a tree of attribute sets and derivations _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) _Since hercules-ci-agent 0.9.8_ Behaves similar to onPush, but is responsible for jobs that respond to the passing of time rather than to a git push or equivalent. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) A collection of builds and effects. These may be nested recursively into attribute sets. Hercules CI’s traversal of nested sets can be cancelled with `lib.dontRecurseIntoAttrs`. See the parent option for details about when the job runs. _Type:_ a tree of attribute sets and derivations _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The time at which to schedule a job. Each subattribute represents an equality, all of which will hold at the next planned time. The time zone is UTC. The `minute` or `hour` attributes can be omitted, in which case Hercules CI will pick an arbitrary time for you. See the `when.*` options below for details. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) An optional list of day of the month during which to create a job. The default value `null` represents all days. _Type:_ null or ((list of integer between 0 and 31 (both inclusive)) or integer between 0 and 31 (both inclusive) convertible to it) _Default:_ `null` _Declared by:_ * [hercules-ci-effects/flake-modules/types/when.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/types/when.nix) An optional list of week days during which to create a job. The default value `null` represents all days. _Type:_ null or ((list of (one of “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”)) or (one of “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”) convertible to it) _Default:_ `null` _Declared by:_ * [hercules-ci-effects/flake-modules/types/when.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/types/when.nix) An optional integer representing the hours at which a job should be created. The default value `null` represents an arbitrary hour. _Type:_ null or ((list of integer between 0 and 23 (both inclusive)) or integer between 0 and 23 (both inclusive) convertible to it) _Default:_ `null` _Declared by:_ * [hercules-ci-effects/flake-modules/types/when.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/types/when.nix) An optional integer representing the minute mark at which a job should be created. The default value `null` represents an arbitrary minute. _Type:_ null or integer between 0 and 59 (both inclusive) _Default:_ `null` _Declared by:_ * [hercules-ci-effects/flake-modules/types/when.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/types/when.nix) The repository and checkout metadata of the current checkout, provided by Hercules CI. These options are read-only. You may read options by querying the `config` module argument. _Type:_ submodule _(read only)_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The branch of the checkout. `null` when not on a branch; e.g. when on a tag. _Type:_ null or string _(read only)_ _Example:_ `"main"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) What forge implementation hosts the repository. E.g. “github” or “gitlab” _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Example:_ `"github"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The name of the repository. _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The owner of the repository. _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The git “ref” of the checkout. _Type:_ string _(read only)_ _Example:_ `"refs/heads/main"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) HTTP url for cloning the repository. _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) SSH url for cloning the repository. _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The git revision, also known as the commit hash. _Type:_ string _(read only)_ _Example:_ `"17ae1f614017447a983c34bb046892b3c571df52"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) An abbreviated `rev`. _Type:_ string _(read only)_ _Example:_ `"17ae1f6"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) The tag of the checkout. `null` when not on a tag; e.g. when on a branch. _Type:_ null or string _(read only)_ _Example:_ `"1.0"` _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) A URL to open the repository in the browser. _Since hercules-ci-agent 0.9.8_ _Type:_ string _(read only)_ _Default:_ _Declared by:_ * [hercules-ci-effects/flake-modules/herculesCI-attribute.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/herculesCI-attribute.nix) Modular settings for the GitHub Pages effect. See [`gitWriteBranch`](https://docs.hercules-ci.com/hercules-ci-effects/reference/nix-functions/gitWriteBranch.html#effect_options) for options. _Type:_ module _Example:_ { contents = config.packages.docs + "/share/doc/mypkg/html"; } _Declared by:_ * [hercules-ci-effects/flake-modules/github-pages.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/github-pages.nix) Nixpkgs instance to use for `hercules-ci-effects`. The effects functions, etc, will be provided as the `effects` module argument of `perSystem`. _Type:_ raw value _Default:_ `pkgs` (module argument) _Declared by:_ * [hercules-ci-effects/flake-modules/module-argument.nix](https://github.com/hercules-ci/hercules-ci-effects/blob/master/flake-modules/module-argument.nix) --- # process-compose-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/process-compose-flake.md "Suggest an edit") This flake-parts module allows you to declare one or more process-compose configurations using Nix attribute sets. It will generate corresponding packages that wrap the [process-compose](https://github.com/F1bonacc1/process-compose) binary with the given configuration. See [quick example](https://community.flake.parts/process-compose-flake#quick-example) to get started with [process-compose-flake](https://github.com/Platonic-Systems/process-compose-flake) To use these options, add to your flake inputs: process-compose-flake.url = "github:Platonic-Systems/process-compose-flake"; and inside the `mkFlake`: imports = [\ inputs.process-compose-flake.flakeModule\ ]; Run `nix flake lock` and you're set. process-compose-flake: creates [process-compose](https://github.com/F1bonacc1/process-compose) executables from process-compose configurations written as Nix attribute sets. _Type:_ attribute set of (submodule) _Declared by:_ * [process-compose-flake/nix/flake-module.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/flake-module.nix) The process-compose package to bundle up in the command package and flake app. _Type:_ package _Default:_ `pkgs.process-compose` _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) Environment variables to pass to process-compose binary. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Disable the TUI (Text User Interface) of process-compose _Type:_ null or boolean _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) CLI options to pass to process-compose binary _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --keep-project to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --log-file to process-compose _Type:_ null or string _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --no-server to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --ordered-shutdown to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --port to process-compose _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --read-only to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --unix-socket to process-compose _Type:_ null or string _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --use-uds to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell script prefix setting environment variables _Type:_ string _(read only)_ _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) The final CLI arguments we will pass to process-compose binary. _Type:_ string _(read only)_ _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell commands to run after process-compose completes. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell commands to run before process-compose starts. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) The final package that will run ‘process-compose up’ for this configuration. _Type:_ package _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) Run the `process-compose` package with `test` process Enabled. Note: This is meant to be run in CI. _Type:_ null or package _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/test.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/test.nix) Like `outputs.package` but includes the “test” process Set to null if there is no “test” process. _Type:_ null or package _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) For each attribute `x = process-compose config` a flake app and package `x` is added to the flake. Which runs process-compose with the declared config. _Type:_ submodule _Default:_ `{ }` _Example:_ { watch-server = { processes = { backend = "${pkgs.simple-http-server}"; frontend = "${pkgs.simple-http-server}"; }; }; }; _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Attrset of environment variables. List of strings is also allowed. _Type:_ null or (list of string) or attribute set of string _Default:_ `null` _Example:_ { ABC = "2221"; PRINT_ERR = "111"; } _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Log length to display in TUI mode. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `3000` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Level of logs to output. _Type:_ null or one of “trace”, “debug”, “info”, “warn”, “error”, “fatal”, “panic” _Default:_ `null` _Example:_ `"info"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) File to write the logs to. _Type:_ null or string _Default:_ `null` _Example:_ `"./pc.log"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) A map of process names to their configuration. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Restart will wait `process.availability.backoff_seconds` seconds between `stop` and `start` of the process. If not configured the default value is 1s. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `2` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to gracefully stop all the processes upon the exit of the current process. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to gracefully stop all the processes upon the process being skipped. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Max. number of times to restart. Tip: It might be sometimes useful to `exit_on_end` with `restart: on_failure` and `max_restarts` in case you want the process to recover from failure and only cause termination on success. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) When to restart the process. _Type:_ null or one of “always”, “on\_failure”, “exit\_on\_failure”, “no” _Default:_ `null` _Example:_ `"on_failure"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The command or script or package that runs this process If a package is given, its executable is used as the command. Otherwise, the command string is wrapped in a `pkgs.writeShellApplication` which uses ShellCheck and runs the command in bash. _Type:_ package or string _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Process dependency relationships _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The condition the parent process must be in before starting the current one. _Type:_ one of “process\_completed”, “process\_completed\_successfully”, “process\_healthy”, “process\_log\_ready”, “process\_started” _Example:_ `"process_healthy"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to disable colors in the logs. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether the process is disabled. Useful when a process is required to be started only in a given scenario, like while running in CI. Even if disabled, the process is still listed in the TUI and the REST client, and can be started manually when needed. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Attrset of environment variables. List of strings is also allowed. _Type:_ null or (list of string) or attribute set of string _Default:_ `null` _Example:_ { ABC = "2221"; PRINT_ERR = "111"; } _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) * For processes that start services / daemons in the background, please use the `is_daemon` flag set to `true`. * In case a process is daemon it will be considered running until stopped. * Daemon processes can only be stopped with the `$PROCESSNAME.shutdown.command` as in the example above. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Foreground processes are useful for cases when a full `tty` access is required (e.g. `vim`, `top`, `gdb -tui`) * Foreground process have to be started manually (`F7`). They can be started multiple times. * They are available in TUI mode only. * To return to TUI, exit the foreground process. * In TUI mode, a local process will be started. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Simulate TTY mode for this process _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The settings used to check if the process is alive. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Execution settings. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The command to execute in order to check the health of the process. _Type:_ string _Example:_ `"ps -ef | grep -v grep | grep my-proccess"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of times to fail before giving up on restarting the process. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) URL to determine the health of the process. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The host address which `process-compose` uses to probe the process. _Type:_ string _Example:_ `"google.com"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The path to the healtcheck endpoint. _Type:_ string _Default:_ `"/"` _Example:_ `"/"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Which port to probe the process on. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Example:_ `"8080"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The protocol used to probe the process listening on `host`. _Type:_ string _Default:_ `"http"` _Example:_ `"http"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Wait for `initial_delay_seconds` before starting the probe/healthcheck. _Type:_ unsigned integer, meaning >=0 _Default:_ `0` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Check the health every `period_seconds`. _Type:_ unsigned integer, meaning >=0 _Default:_ `10` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of successful checks before marking the process `Ready`. _Type:_ unsigned integer, meaning >=0 _Default:_ `1` _Example:_ `1` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) How long to wait for a given probe request. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Log location of the `process-compose` process. _Type:_ null or string _Default:_ `null` _Example:_ `"./pc.my-proccess.log"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Used to group processes together. _Type:_ string _Default:_ `"default"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The settings used to check if the process is ready to accept connections. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Execution settings. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The command to execute in order to check the health of the process. _Type:_ string _Example:_ `"ps -ef | grep -v grep | grep my-proccess"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of times to fail before giving up on restarting the process. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) URL to determine the health of the process. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The host address which `process-compose` uses to probe the process. _Type:_ string _Example:_ `"google.com"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The path to the healtcheck endpoint. _Type:_ string _Default:_ `"/"` _Example:_ `"/"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Which port to probe the process on. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Example:_ `"8080"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The protocol used to probe the process listening on `host`. _Type:_ string _Default:_ `"http"` _Example:_ `"http"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Wait for `initial_delay_seconds` before starting the probe/healthcheck. _Type:_ unsigned integer, meaning >=0 _Default:_ `0` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Check the health every `period_seconds`. _Type:_ unsigned integer, meaning >=0 _Default:_ `10` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of successful checks before marking the process `Ready`. _Type:_ unsigned integer, meaning >=0 _Default:_ `1` _Example:_ `1` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) How long to wait for a given probe request. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) A string to search for in the output of the command that indicates the process is ready. String will be part of a regex ‘._{ready\_log\_line}._’. This should be used for long running processes that do not have a readily accessible check for http or similar other checks. _Type:_ null or string _Default:_ `null` _Example:_ `"process is ready"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The command to run while process-compose is trying to gracefully shutdown the current process. Note: The `shutdown.command` is executed with all the Environment Variables of the primary process _Type:_ null or string _Default:_ `null` _Example:_ `"sleep 2 && pkill -f 'test_loop.bash my-proccess'"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) If `shutdown.command` is not defined, exit the process with this signal. Defaults to `15` (SIGTERM) _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `15` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Wait for `timeout_seconds` for its completion (if not defined wait for 10 seconds). Upon timeout, `SIGKILL` is sent to the process. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The directory to run the process in. _Type:_ null or string _Default:_ `null` _Example:_ `"/tmp"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Arguments to pass to the shell given by `shell_command`. _Type:_ string _Default:_ `"-c"` _Example:_ `"-c"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) The shell to use to run the process `command`s. For reproducibility across systems, by default this uses `pkgs.bash`. _Type:_ string _Default:_ `"lib.getExe pkgs.bash"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Version of the process-compose configuration. _Type:_ null or string _Default:_ `null` _Example:_ `"0.5"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) --- # std - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/std.md "Suggest an edit") Add definitions from the [Standard](https://github.com/divnix/std#readme) DevOps framework to your flake. It organizes and disciplines your Nix and thereby speeds you up. It also comes with great horizontal integrations of high quality vertical DevOps tooling crafted by the Nix Ecosystem. To use these options, add to your flake inputs: std.url = "github:divnix/std"; and inside the `mkFlake`: imports = [\ inputs.std.flakeModule\ ]; Run `nix flake lock` and you're set. --- # input-branches - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/input-branches.md "Suggest an edit") Apply changes to a flake input by importing its branch and using it as a Git submodule 🤯 Sometimes, a project can be used as a flake input as-is, but often, we want to apply changes to it prior to consumption. [Nix does not yet provide a feature of seamless application of patches to flake inputs](https://github.com/NixOS/nix/issues/3920) . This project defines a workflow for applying changes to an input by importing its branch into our repository and referring to that branch via path that points to a Git submodule. Commands that support this workflow are provided via [via flake-parts options](https://flake.parts/options/input-branches) . * 🐬 single-repo setup; more self-contained, less to keep track of * 💃 no artificial committing/pushing during development * 🕺 no typing `--override-input` and no accidentally omitting it * ⚡ provided scripts save time and improve consistency * 🧚‍♀️ optional shallow import extra useful for inputs with huge history such as Nixpkgs 1. ⬇️ _import the upstream branch_ into our project's own repository. For example, we can import the upstream `nixpkgs-unstable` branch as `inputs/main/nixpkgs` in our repository. Repositories with huge histories such as Nixpkgs should be fetched shallowly and imported into a single artificial commit. 2. add our repository at that branch as a Git submodule to our repository 💡. For example, at the path `inputs/nixpkgs`. Our `.gitmodules` will include: [submodule "inputs/nixpkgs"] path = inputs/nixpkgs url = ./. 3. point the input url to that path: inputs.nixpkgs.url = "./inputs/nixpkgs"; 4. Declare `inputs.self.submodules = true`. Otherwise, referring to the flake via path (e.g. `nix build .`) would result in submodules being omitted. It seems that Nix does not support `.?submodules=true`. The minimal Nix version is `2.27.0` because [that is the version that introduced `inputs.self.submodules`](https://nix.dev/manual/nix/2.27/release-notes/rl-2.27.html) . Since submodules need to be fetched, the project can be fetched only as a Git repository. For example it cannot be referred to as `github:mightyiam/infra` (tarball fetching). It must referred to as `git+https://github.com/mightyiam/infra` or similar instead. It seems that an input that is referred to by relative path inside the superproject (e.g. `./inputs/nixpkgs`) and is a Git submodule and is `flake = false` ends up being equivalent to `self`, which would be incorrect. So input-branch inputs must be `flake = true` (which is the default). Also, a `flake.nix` must exist. Just the usual overhead associated with Git submodules, such as `$ git submodule init` and `$ git submodule update`. It seems that when the superproject state is clean, submodules that are referred to by path will be fetched via Git 🤕. Workaround: `$ touch dirt; git add -N dirt` This was reported as [issue 13324](https://github.com/NixOS/nix/issues/13324) . Inputs with huge histories should be handled shallowly. Otherwise, one might (with Nixpkgs will) hit forge push limits such as [GitHub's](https://docs.github.com/en/get-started/using-git/troubleshooting-the-2-gb-push-limit) . But if you insist, this can typically be worked around by chunking. Since our project now depends on multiple branches, we must ensure that in addition to pushing the usual branch, we also push the input branch. Since we now have input code under `./inputs`, we must consider this path in the usage of tools such as linters and formatters. important This workflow causes/surfaces the following issues with NixOS. A NixOS module that mitigates these issues is provided as `#modules.nixos.default`. By default NixOS uses git metadata in some derivations. This may be useful under normal circumstances, but when Nixpkgs is a Git submodule that is referred to by path, then the git metadata is no longer of the Nixpkgs repository, but of the superproject. This unintended consequence also results in more frequent/noisy NixOS derivation change. The provided NixOS module disables the use of Git metadata; It removes the `nixos-version` command and replaces the Nixpkgs revision that is by default included in boot entry labels with `no_git_metadata`. By default the NixOS option `nixpkgs.flake.source` is set to `self.outPath`. This may be useful under normal circumstances, but when Nixpkgs is a Git submodule that is referred to by path, it results in the supreproject being part of the NixOS derivation, which is unacceptable because _any edit_ would result in a NixOS system change. The provided NixOS module sets this option to `null`, which results in the removal of Nixpkgs from the system flake registry. If you want Nixpkgs in the system flake registry you may override this option to a path of your Nixpkgs submodule path (possibly `lib.mkForce ../inputs/nixpkgs` or similar). Importing of foreign branches results in storage of foreign objects, increasing repository size. This can be mitigated by importing shallowly. To use these options, add to your flake inputs: input-branches.url = "github:mightyiam/input-branches"; and inside the `mkFlake`: imports = [\ inputs.input-branches.flakeModules.default\ ]; Run `nix flake lock` and you're set. Directory relative to Git top-level for git submodules. _Type:_ string _(read only)_ _Default:_ `"inputs"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Input branch definitions. Each attribute name must correspond to an existing flake input. _Type:_ lazy attribute set of (submodule) _Default:_ `"{ }"` _Example:_ { nixpkgs = { upstream = { url = "https://github.com/NixOS/nixpkgs.git"; ref = "nixpkgs-unstable"; }; shallow = true; }; home-manager.upstream = { url = "https://github.com/nix-community/home-manager.git"; ref = "master"; }; } _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Name of input. A flake input by this name must exist. _Type:_ string _(read only)_ _Default:_ `` _Example:_ `"flake-parts"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) path of submodule relative to Git top-level _Type:_ string _(read only)_ _Default:_ `inputs/` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Useful for an input with huge history, such as Nixpkgs. Fetching occurs with `--depth 1`. The input branch is initialized with a single, artificial, initial commit. The commit message includes the original upstream rev. Prior to rebasing such a commit is recreated. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) remote upstream name _Type:_ string _(read only)_ _Default:_ `"upstream"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) ref of the upstream Git repo _Type:_ string _Example:_ `"master"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) remote URL of the upstream Git repo _Type:_ string _Example:_ `"https://github.com/nix-community/stylix.git"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of all of the commands, for convenience _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) A list of `input-branch-init-` commands that attempt to initialize `INPUT`. For example: $ input-branch-init-nixpkgs And you end up with a git submodule at the configured path. It inherited the remote of the remote tracking branch of the current branch. It has an upstream remote according to configuration. The configured branch is checked out and its HEAD set to the rev that the corresponding flake input is locked to. The input url can be set to use it: { inputs.flake-parts.url = "./inputs/nixpkgs"; } An additional command `input-branches-init` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of `input-branch-push-force-` commands that push with `--force` the configured branch of `INPUT` An additional command `input-branches-push-force` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of `input-branch-rebase-` commands that attempt to rebase `INPUT` An additional command `input-branches-rebase` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) --- # Best Practices for Module Writing - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/best-practices-for-module-writing.md "Suggest an edit") Like in NixOS, writing a configuration is quite different from writing a reusable module. In a configuration, you may take shortcuts which have little impact, but shortcuts in a reusable module lead to surprises for your module's users. The inputs are controlled by the user, so your module should make no assumption about which inputs are present. This way, the user is free to, for example, bundle up their inputs into a distribution, such as a company platform module. By scanning through all the `inputs`, you cause two kinds of problems * You trigger the fetching of all direct dependencies, even though some may not need to be fetched. * You are making an assumption about the role in which an input is used. By recursing into inputs, you make the problem literally **exponentially** worse: * Your module logic becomes susceptible to changes deep inside your dependencies' dependencies. Whereas you might have gotten away with an assumption about the role of direct dependencies, making the same assumptions about dependencies and dependencies' dependencies is unlikely to work out well. * You trigger the fetching of potentially all transitive dependencies. Instead of a performance inconvenience, we now have a ecosystem-wide scaling problem. Also note that even if you don't explicitly recurse into the transitive inputs, this behavior still arises if your inputs don't adhere to the rule. Furthermore it has been observed that lock files can grow indefinitely when mutually dependent flakes don't use `follows` to remove the older version of themselves from the inputs graph. When integrating an existing library, it might be easy to add its options in the top level namespace only, as it might already expose a whole-flake interface. However, as most build and test work is done in `perSystem`, users expect to be able to use it in that context. See also [perSystem first (custom flake attribute)](https://flake.parts/define-custom-flake-attribute#persystem-first) . Most modules are about some piece of software that it integrates. Ideally the flake module is bundled into the same flake. This simplifies the wiring that users have to do, especially when they want to use a patched version. It's also a bit more efficient as far as fetching is concerned. Most modules will put all their options inside a "namespace" named after their module instead. This way, option path collisions are unlikely to occur. For example: `perSystem.treefmt.programs`, not `perSystem.programs`. --- # Cheat Sheet - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/cheat-sheet.md "Suggest an edit") Flake-parts offers a couple of ways to access the same thing. This gives you freedom to pick the most convenient syntax for a use case. This page is for you to get a feel for what's what. Getting the locally defined `hello` package on/for an `x86_64-linux` host: nix build .#hello config.packages.hello self'.packages.hello The [`self'`](https://flake.parts/module-arguments#self) parameter is derived from the flake `self`, which may benefit from evaluation caching in the future. The `config` parameter is conceptually simpler and lets you access all options inside `perSystem`, including unexposed ones if you're into defining such options. > **Note** > > Anything you can do at the top level, you can do in `perSystem` as well, although you may have to `@` match those module arguments. > > For example, change the top level function header to e.g. `toplevel@{ config, ... }: /*...*/` so you can access `toplevel.config` despite plain `config` being shadowed by `perSystem = { config, ... }: /*...*/`. Examples: (getSystem "x86_64-linux").packages.hello withSystem "x86_64-linux" ({ config, ... }: config.packages.hello ) self.x86_64-linux.packages.hello allSystems.x86_64-linux.packages.hello `allSystems` may not be future proof if Nix starts to allow building for all systems. An opened up system is incompatible with enumerated systems as required by an attribute set. --- # ocaml-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/ocaml-flake.md "Suggest an edit") This module has been archived because it appears to be unmaintained. [`ocaml-flake`](https://github.com/9glenda/ocaml-flake) uses [`opam-nix`](https://github.com/tweag/opam-nix) to build ocaml packages. The module structure is inspired by [`haskell-flake`](https://community.flake.parts/haskell-flake) . Since the flake is fairly new future versions may introduce breaking changes. To initialize a new dune project using `ocaml-flake` simply run: `nix flake init -t github:9glenda/ocaml-flake#simple` This will set up a devshell and package for you. Ocaml module _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) dune Projects. _Type:_ attribute set of (submodule) _Default:_ `{}` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) What will be added to the flake outputs. Note for dev shells nix will create a dev shell from the default package in case no dev shell is specified. _Type:_ list of (one of “devShell”, “package”) _Default:_ `["devShell" "package"]` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Create a dev shell for the project. The devShell is located in `ocaml.dunePackage..outputs.devShell`. To automatically add the dev shell to the outputs of the flake add `"devshell"` to `autoWire`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Extra packages to install into the dev shell alongside the `opamPackages`. _Type:_ list of package _Default:_ `[]` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Take inputs from the package. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) Extra arguments to pass to `pkgs.mkShell`. The already set arguments get overwritten. It’s implemented like this: `pkgs.mkShell ({ ... } // mkShellArgs)` _Type:_ attribute set of raw value _Default:_ `{ }` _Example:_ `'' { shellHook = \'\' echo "example shell hook" \'\'; }; ''` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the devShell _Type:_ string _Default:_ `" development development shell"` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) development packages like the lsp and ocamlformat. Those packages get installed in the dev shell too. If the devShell is disabled this option will be ignored. _Type:_ attribute set of string _Default:_ `{ ocaml-lsp-server = "1.16.2"; ocamlformat = "0.26.1"; utop = "2.13.1"; ocamlfind = "1.9.6"; }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the dune package. Defined in dune-project _Type:_ string _Default:_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) used internally _Type:_ null or package _(read only)_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) used internally _Type:_ null or raw value _(read only)_ _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) opam packages like the base compiler _Type:_ attribute set of string _Default:_ `{ ocaml-base-compiler = "5.1.0"; }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) overlay applied to opam-nix _Type:_ raw value _Default:_ `_: _: { }` _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) name of the dune package. Defined in dune-project _Type:_ absolute path _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) opam-nix flake input _Type:_ raw value _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) treefmt flake input _Type:_ raw value _Declared by:_ * [ocaml-flake/flake-module.nix](https://github.com/9glenda/ocaml-flake/flake-module.nix) --- # mission-control - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/mission-control.md "Suggest an edit") A flake-parts module for your Nix devshell scripts. Lets you configure commands that will be run in the repository root. Provides an informative "message of the day" when launching your shell. See the [Platonic-Systems/mission-control readme](https://github.com/Platonic-Systems/mission-control#readme) . To use these options, add to your flake inputs: `mission-control.url = "github:Platonic-Systems/mission-control";` and inside the `mkFlake`: `imports = [ inputs.mission-control.flakeModule ];` Run `nix flake lock` and you're set. Specification for the scripts in dev shell _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The generated shell banner. _Type:_ string _Default:_ generated package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) A devShell containing the banner and wrapper. _Type:_ package _(read only)_ _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) List of scripts to be added to the shell _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The category under which this script will be gropuped. _Type:_ string _Default:_ `"Commands"` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) Whether to change the working directory to the project root before running the script. _Type:_ boolean _Default:_ `true` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) A description of what this script does. This will be displayed in the banner and help menu. _Type:_ null or string _Default:_ `null` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The script or package to run The $FLAKE\_ROOT environment variable will be set to the project root, as determined by the github:srid/flake-root module. _Type:_ string or package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The generated wrapper script. _Type:_ package _Default:_ generated package _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) The name of the wrapper script _Type:_ string _Default:_ `","` _Declared by:_ * [mission-control/nix/flake-module.nix](https://github.com/Platonic-Systems/mission-control/blob/master/nix/flake-module.nix) --- # easy-hosts - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/easy-hosts.md "Suggest an edit") [`easy-hosts`](https://github.com/tgirlcloud/easy-hosts/blob/main) lets you define multiple nixos and darwin configurations agnosticly. Whilst providing a nice user interface via shared configurations and perClass configurations meaning that easy-hosts remains highly extensible. To use these options, add to your flake inputs: `easy-hosts.url = "github:tgirlcloud/easy-hosts";` and inside the `mkFlake`: `imports = [ inputs.easy-hosts.flakeModule ];` Run `nix flake lock` and you're set. Additional classes and their respective mappings to already existing classes _Type:_ attribute set of string _Default:_ `{ }` _Example:_ `{ wsl = "nixos"; rpi = "nixos"; macos = "darwin"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Whether to enable Automatically construct hosts. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Hosts to be defined by the flake _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) The architecture of the host _Type:_ one of “x86\_64”, “aarch64”, “armv6l”, “armv7l”, “i686”, “powerpc64le”, “riscv64” _Default:_ `"x86_64"` _Example:_ `"aarch64"` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) The class of the host _Type:_ one of “nixos”, “darwin”, “iso” _Default:_ `"nixos"` _Example:_ `"darwin"` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Whether to enable Is this host deployable. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) ‹name› modules to be included in the system _Type:_ list of module _Default:_ `[ ]` _Example:_ `[ ./hardware-configuration.nix ./networking.nix ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) The nix-darwin flake to be used for the host _Type:_ anything _Default:_ `inputs.darwin or inputs.nix-darwin` _Example:_ `inputs.my-nix-darwin` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) The nixpkgs flake to be used for the host _Type:_ anything _Default:_ `inputs.nixpkgs` _Example:_ `inputs.nixpkgs-unstable` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Path to the directory containing the host files _Type:_ null or absolute path _Default:_ `null` _Example:_ `./hosts/myhost` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) ‹name› special arguments to be passed to the system _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ foo = "bar"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Extra tags for the host _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "laptop" ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Only construct the hosts with for this platform _Type:_ null or string _Default:_ `null` _Example:_ `aarch64-darwin` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Path to the directory containing the host files _Type:_ null or absolute path _Default:_ `null` _Example:_ `./hosts` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per arch settings _Type:_ function that evaluates to a(n) (submodule) _Default:_ `'' arch: { modules = [ ]; specialArgs = { }; }; ''` _Example:_ `arch: { modules = [ { system.nixos.label = arch; } ]; specialArgs = { }; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per arch modules to be included in the system _Type:_ list of module _Default:_ `[ ]` _Example:_ `[ ./hardware-configuration.nix ./networking.nix ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per arch special arguments to be passed to the system _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ foo = "bar"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per class settings _Type:_ function that evaluates to a(n) (submodule) _Default:_ `'' class: { modules = [ ]; specialArgs = { }; }; ''` _Example:_ `class: { modules = [ { system.nixos.label = class; } ]; specialArgs = { }; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per class modules to be included in the system _Type:_ list of module _Default:_ `[ ]` _Example:_ `[ ./hardware-configuration.nix ./networking.nix ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per class special arguments to be passed to the system _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ foo = "bar"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per tag settings _Type:_ function that evaluates to a(n) (submodule) _Default:_ `'' tag: { modules = [ ]; specialArgs = { }; }; ''` _Example:_ `let tagModule = { laptop = ./modules/laptop; gaming = ./modules/gaming; }; in tag: { modules = [ tagModule.${tag} ]; specialArgs = { }; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per tag modules to be included in the system _Type:_ list of module _Default:_ `[ ]` _Example:_ `[ ./hardware-configuration.nix ./networking.nix ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Per tag special arguments to be passed to the system _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ foo = "bar"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Shared modules to be included in the system _Type:_ list of module _Default:_ `[ ]` _Example:_ `[ ./hardware-configuration.nix ./networking.nix ]` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) Shared special arguments to be passed to the system _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ foo = "bar"; }` _Declared by:_ * [easy-hosts/flake-module.nix](https://github.com/tgirlcloud/easy-hosts/blob/main/flake-module.nix) --- # dream2nix legacy - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/dream2nix_legacy.md "Suggest an edit") [`dream2nix`](https://github.com/nix-community/dream2nix#readme) scans your flake files and turns them into packages. NOTE: a new version of dream2nix, v1, is in the works, and we're figuring out how best to use it. To use these options, add to your flake inputs: `dream2nix_legacy.url = "github:nix-community/dream2nix/c9c8689f09aa95212e75f3108788862583a1cf5a";` and inside the `mkFlake`: `imports = [ inputs.dream2nix_legacy.flakeModuleBeta ];` Run `nix flake lock` and you're set. The dream2nix config. _Type:_ submodule _Default:_ `{ projectRoot = self; }` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/interface.nix) Relative path to the project root to put generated dream-lock files in. _Type:_ Relative path in a string. _Default:_ `"./dream2nix-packages"` _Declared by:_ * [dream2nix\_legacy/src/modules/config/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/config/interface.nix) Extra modules to import in while evaluating the dream2nix framework. This allows you to add new discoverers, translators, builders etc. and lets you override existing ones. _Type:_ list of absolute path _Default:_ `[ ]` _Declared by:_ * [dream2nix\_legacy/src/modules/config/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/config/interface.nix) Override directories to pull overrides from. _Type:_ list of absolute path _Default:_ `[ ]` _Declared by:_ * [dream2nix\_legacy/src/modules/config/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/config/interface.nix) Absolute path to the root of this project. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [dream2nix\_legacy/src/modules/config/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/config/interface.nix) Name of the repository this project is in. _Type:_ null or string _Default:_ `null` _Declared by:_ * [dream2nix\_legacy/src/modules/config/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/config/interface.nix) The system-less dream2nix library. This should be the `lib` attribute of the dream2nix flake. _Type:_ raw value _(read only)_ _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/interface.nix) A list of inputs to generate outputs from. Each one takes the same arguments `makeOutputs` takes. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/interface.nix) Overrides to customize build logic for dependencies or top-level packages _Type:_ lazy attribute set of (attribute set) _Default:_ `{ }` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Inject missing dependencies into the dependency tree _Type:_ lazy attribute set of lazy attribute set of list of list of string _Default:_ `{ }` _Example:_ `{ foo."6.4.1" = [ ["bar" "13.2.0"] ["baz" "1.0.0"] ]; "@tiptap/extension-code"."2.0.0-beta.26" = [ ["@tiptap/core" "2.0.0-beta.174"] ]; };` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) The name of the package to be built with dream2nix _Type:_ null or string _Default:_ `null` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Projects that dream2nix will build _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Name of builder to use _Type:_ null or string _Default:_ `null` _Example:_ `"strict-builder"` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Name of the project _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Relative path to project tree from source _Type:_ string _Default:_ `""` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Name of subsystem to use. Examples: rust, python, nodejs _Type:_ string _Example:_ `"nodejs"` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Translator specific arguments _Type:_ lazy attribute set of anything _Default:_ `{ }` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Translator to use _Type:_ string _Example:_ `[ "yarn-lock" "package-json" ]` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Version of the project _Type:_ null or string _Default:_ `null` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Settings to customize dream2nix’s behaviour. `This is likely to be removed in the future: Quote from DavHau @ https://github.com/nix-community/dream2nix/pull/399/files#r1036801060: Eventually this option should be removed. This custom settings merging logic I once implemented is an ugly quick hack, and not needed anymore since we now have the module system for merging options.` _Type:_ list of (attribute set) _Default:_ `[ ]` _Example:_ `[ { aggregate = true; } { filter = ; subsystemInfo = { nodejs = 18; npmArgs = "--legacy-peer-deps"; }; } ]` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Source of the package to build with dream2nix _Type:_ absolute path or package _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) Override the sources of dependencies or top-level packages. Refer to the `dream-lock.json` for the package version to override. For more details, refer to https://nix-community.github.io/dream2nix/intro/override-system.html _Type:_ function that evaluates to a(n) lazy attribute set of attribute set of package _Default:_ `` _Example:_ `oldSources: { bar."13.2.0" = builtins.fetchTarball { url = "https://example.com/example.tar.gz"; sha256 = "sha256-0000000000000000000000000000000000000000000="; }; baz."1.0.0" = builtins.fetchTarball { url = "https://example2.com/example2.tar.gz"; sha256 = "sha256-0000000000000000000000000000000000000000000="; };` _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/makeOutputsArgs.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/makeOutputsArgs.nix) The dream2nix instance. _Type:_ raw value _(read only)_ _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/interface.nix) The raw outputs that were generated for each input. _Type:_ lazy attribute set of lazy attribute set of raw value _(read only)_ _Declared by:_ * [dream2nix\_legacy/src/modules/flake-parts/interface.nix](https://github.com/nix-community/dream2nix/blob/c9c8689f09aa95212e75f3108788862583a1cf5a/src/modules/flake-parts/interface.nix) --- # ez-configs - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/ez-configs.md "Suggest an edit") [`ez-configs`](https://github.com/ehllie/ez-configs) lets you define multiple nixos, darwin, and home manager configurations, and reuse common modules using your flake directory structure. To use these options, add to your flake inputs: `ez-configs.url = "github:ehllie/ez-configs";` and inside the `mkFlake`: `imports = [ inputs.ez-configs.flakeModule ];` Run `nix flake lock` and you're set. Entry point file for darwinConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing darwinConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/darwin-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all darwinModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating darwinConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific darwinConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ hostA = { userHomeModules = [ "bob" ]; }; hostB = { importDefault = false; arch = "aarch64 }; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this host. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) List or attribute set of users in ${ezConfigs.hm.usersDirectory}, whose comfigurations to import as home manager darwinModules. If it’s a list, each user is assumed to have the same name as the homeModule. You can override this by using an attribute set, where the attribute name is the name of the host user, while value is the name of the homeModule. They will be put inside `home-manager.${user}.imports` list for this host. When this option is set, the `home-manager.extraSpecialArgs` option is also set to the one it would recieve in homeManagerConfigurations output, and the appropriate homeManager module is imported. _Type:_ (list of string) or attribute set of string _Default:_ `[ ]` _Example:_ `{ alice = "alice-minimal"; bob = "bob-full"; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing darwinModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/darwin-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all darwinConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all modules before exporting them. _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ inherit inputs; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all configurations. _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ inherit inputs; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Entry point file for homeConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing homeConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/home-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all homeModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all homeConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing homeModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/home-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating homeConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific homeConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ alice = { standalone = { enable = true; pkgs = import nixpkgs { system = "x86_64-linux"; }; }; }; bob = { importDefault = false; }; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this user. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Function to generate the name of the user configuration using the host name. _Type:_ null or (function that evaluates to a(n) string) _Default:_ `${username}@${hostname}` _Example:_ `(host: "${host}-${name})")` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to pass the osConfig argument to extraSpecialArgs. This will be the nixosConfiguration.config or darwinConfiguration.config, whose pkgs are being used to build this homeConfiguration. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to create a standalone user configuration. By default each user and host pair gets its own homeConfigurations attribute, and the pkgs passed into homeConfiguration function come from that system. This will prevent the ${user}@${host} outputs from being created. Instead a standalone user configuration will be created with user name. _Type:_ boolean _Default:_ `false` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The package set with which to construct the homeManagerConfiguration. Non standalone user configurations will use the package set of the host system. _Type:_ Nixpkgs package set _Example:_ `import nixpkgs {system = "x86_64-linux"}` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Entry point file for nixosConfigurations. _Type:_ string _Default:_ `"default.nix"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing nixosConfigurations. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/nixos-configurations"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all nixosModules before exporting them. _Type:_ attribute set of anything _Default:_ `ezConfigs.earlyModuleArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Settings for creating nixosConfigurations. It’s not neccessary to specify this option to create flake outputs. It’s only needed if you want to change the defaults for specific nixosConfigurations. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ hostA = { userHomeModules = [ "bob" ]; }; hostB = { importDefault = false; arch = "aarch64 }; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Whether to import the default module for this host. _Type:_ boolean _Default:_ `true` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) List or attribute set of users in ${ezConfigs.hm.usersDirectory}, whose comfigurations to import as home manager nixosModules. If it’s a list, each user is assumed to have the same name as the homeModule. You can override this by using an attribute set, where the attribute name is the name of the host user, while value is the name of the homeModule. They will be put inside `home-manager.${user}.imports` list for this host. When this option is set, the `home-manager.extraSpecialArgs` option is also set to the one it would recieve in homeManagerConfigurations output, and the appropriate homeManager module is imported. _Type:_ (list of string) or attribute set of string _Default:_ `[ ]` _Example:_ `{ alice = "alice-minimal"; bob = "bob-full"; }` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The directory containing nixosModules. _Type:_ absolute path _Default:_ `"${ezConfigs.root}/nixos-modules"` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) Extra arguments to pass to all nixosConfigurations. _Type:_ attribute set of anything _Default:_ `ezConfigs.globalArgs` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) The root from which configurations and modules should be searched. _Type:_ null or absolute path _Default:_ `null` _Example:_ `./.` _Declared by:_ * [ez-configs/flake-module.nix](https://github.com/ehllie/ez-configs/blob/main/flake-module.nix) --- # mkdocs-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/mkdocs-flake.md "Suggest an edit") [mkdocs-flake](https://applicative-systems.github.io/mkdocs-flake/) adds documentation targets for your project [mkdocs](https://www.mkdocs.org/) documentation. The provided mkdocs distribution comes pre-packaged with the latest [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) and many useful plugins. After integration, run `nix build .#documentation` to build your documentation. To serve the documentation locally with live-rebuilds, run `nix run .#watch-documentation` Quick example how to integrate it into a flake: ``{ description = "Description for the project"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # (1) add mkdocs-flake input mkdocs-flake.url = "github:applicative-systems/mkdocs-flake"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { # (2) import mkdocs-flake module imports = [ inputs.mkdocs-flake.flakeModules.default ]; systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: { packages.default = pkgs.hello; # (3) point mkdocs-flake to your mkdocs root folder documentation.mkdocs-root = ./docs; # (4) Build the docs: # `nix build .#documentation` # Run in watch mode for live-editing-rebuilding: # `nix run .#watch-documentation` }; }; }`` For more information, please refer to the [mkdocs-flake documentation: flake.parts integration](https://applicative-systems.github.io/mkdocs-flake/integration/flake-parts.html) . To use these options, add to your flake inputs: `mkdocs-flake.url = "github:applicative-systems/mkdocs-flake";` and inside the `mkFlake`: `imports = [ inputs.mkdocs-flake.flakeModule ];` Run `nix flake lock` and you're set. The mkdocs package to use. _Type:_ package _Default:_ `"mkdocs-flake.packages.\${system}.mkdocs"` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) Path to your mkdocs documentation project with mkdocs.yml. Relative from your flake.nix. _Type:_ null or absolute path _Default:_ `null` _Example:_ `"./documentation"` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) Whether to enable Build the documentation with `--strict` See also [mkdocs user guide about `--strict`](https://www.mkdocs.org/user-guide/configuration/#strict) . _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [mkdocs-flake/modules/documentation.nix](https://github.com/applicative-systems/mkdocs-flake/blob/main/modules/documentation.nix) --- # make-shell - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/make-shell.md "Suggest an edit") Modules for mkShell! Set `make-shells.` attributes to create `devShells.` and `checks.-devshell` flake outputs. Import and merge complex or shared modules! Create and share new options! For example: ``# aliases.nix { config, lib, pkgs, ... }: { options.aliases = lib.mkOption { type = lib.types.attrsOf lib.types.singleLineStr; default = {}; }; config.packages = let inherit (lib.attrsets) mapAttrsToList; alias = name: command: (pkgs.writeShellScriptBin name \'\'exec ${command} "$@"\'\') // {meta.description = "alias for `${command}`";}; in mapAttrsToList alias config.aliases; }`` `# flake.nix perSystem = {...}: { make-shells.default = { imports = [./aliases.nix]; aliases = { n = "nix"; g = "git"; }; }; };` To use these options, add to your flake inputs: `make-shell.url = "github:nicknovitski/make-shell";` and inside the `mkFlake`: `imports = [ inputs.make-shell.flakeModules.default ];` Run `nix flake lock` and you're set. Modules to import into all shells created using `make-shells` _Type:_ list of raw value _Default:_ `[ ]` _Example:_ `[({pkgs, ...}: { additionalArguments = { doCheck = true; phases = [ "buildPhase" "checkPhase" ]; checkPhase = \'\' ${pkgs.shellcheck}/bin/shellcheck --shell bash <(echo "$shellHook") \'\'; }; })]` _Declared by:_ * [make-shell/flake-module.nix](https://github.com/nicknovitski/make-shell/blob/main/flake-module.nix) For each attribute in this set, make-shell is called with the value, and the resulting package is added to the flake as a devShell attribute with the same name, and as a check with the name ‘${attribute name}-devshell’. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [make-shell/flake-module.nix](https://github.com/nicknovitski/make-shell/blob/main/flake-module.nix) Packages available in the shell environment. An alias of `nativeBuildInputs` _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Arbitrary additional arguments passed to mkDerivation. _Type:_ attribute set of anything _Default:_ `{ }` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) An attribute set to control environment variables in the shell environment. If the value of an attribute is `null`, the variable of that attribute’s name is `unset`. Otherwise the variable of the attribute name is set to the attribute’s value. Integer, path, and derivation values are converted to strings. The boolean true value is converted to the string `"1"`, and the boolean false value is converted to the empty string `""`. _Type:_ attribute set of (null or boolean or signed integer or package or absolute path or string) _Default:_ `{ }` _Example:_ `{ VARIABLE_NAME = "variable value"; UNSET = null; EMPTY = false; TWO = 2; PATH_TO_NIX_STORE_FILE = ./my-file; COWSAY = pkgs.cowsay }` _Declared by:_ * [make-shell/shell-modules/env.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/env.nix) The shell derivation resulting from passing the evaluated configuration to mkDerivation. _Type:_ package _(read only)_ _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) Packages whose inputs are available in the shell environment. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Name of the shell environment derivation. _Type:_ string _Default:_ `"nix-shell"` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) Packages available in the shell environment. _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [make-shell/shell-modules/packages.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/packages.nix) Bash code evaluated when the shell environment starts. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) The standard environment from which the shell derivation will be created. _Type:_ package _Default:_ `pkgs.stdenv` _Example:_ `pkgs.stdenvNoCC` _Declared by:_ * [make-shell/shell-modules/default.nix](https://github.com/nicknovitski/make-shell/blob/main/shell-modules/default.nix) --- # nix-topology - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-topology.md "Suggest an edit") With nix-topology you can automatically generate infrastructure and network diagrams as SVGs directly from your NixOS configurations, and get something similar to the diagram [here](https://github.com/oddlama/nix-topology#readme) . It defines a new global module system where you can specify what nodes and networks you have. Most of the work is done by the included NixOS module which automatically collects all the information from your hosts. After including this flake-parts module, you can build your diagram by running `nix build .#topology..config.output`. To use these options, add to your flake inputs: `nix-topology.url = "github:oddlama/nix-topology";` and inside the `mkFlake`: `imports = [ inputs.nix-topology.flakeModule ];` Run `nix flake lock` and you're set. The evaluated topology configuration, for each of the specified systems. Build the output by running `nix build .#topology.$system.config.output`. _Type:_ lazy attribute set of unspecified value _(read only)_ _Default:_ `"Automatically filled by nix-topology"` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) A list of additional topology modules to evaluate in your global topology. _Type:_ list of unspecified value _Default:_ `[ ]` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) All nixosSystems that should be evaluated for topology definitions. _Type:_ lazy attribute set of unspecified value _Default:_ `lib.filterAttrs (_: x: x.config ? topology) self.nixosConfigurations` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) The package set to use for the topology evaluation on this system. _Type:_ unspecified value _Default:_ `pkgs # (module argument)` _Declared by:_ * [nix-topology/flake-module.nix](https://github.com/oddlama/nix-topology/blob/main/flake-module.nix) --- # nixos-healthchecks - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nixos-healthchecks.md "Suggest an edit") [nixos-healthchecks](https://github.com/mrVanDalo/nixos-healthchecks) provide NixOS-Options to verify if your services are running correctly. `healthchecks.http.nextcloud = { url = "https://example.com/login"; expectedContent = "Login"; }; services.nextcloud = { ... };` Than run `nix run .#healthchecks` To use these options, add to your flake inputs: `nixos-healthchecks.url = "github:mrVanDalo/nixos-healthchecks";` and inside the `mkFlake`: `imports = [ inputs.nixos-healthchecks.flakeModule ];` Run `nix flake lock` and you're set. --- # nix-cargo-integration - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-cargo-integration.md "Suggest an edit") Easily integrate your Rust projects into Nix. See the [readme](https://github.com/yusdacra/nix-cargo-integration#readme) . The source path that will be used as the ‘flake root’. By default this points to the directory ‘flake.nix’ is in. _Type:_ absolute path _Default:_ `"self"` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Configure devshells with flake-parts. Not to be confused with `devShells`, with a capital S. Yes, this is unfortunate. Each devshell will also configure an equivalent `devShells`. Used to define devshells. not to be confused with `devShells` _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [nix-cargo-integration/src/implementation.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/implementation.nix) Crate configurations _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ my-crate = { export = true; }; }` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Profile to use for the tests only package _Type:_ null or string _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Profile to use for clippy only package Note that you will need to add ‘clippy’ as a component to the rust toolchain you are using yourself _Type:_ null or boolean _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Profile to use for the docs only package _Type:_ null or string _Default:_ `null` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Whether to export this all of this crate’s outputs (if set will override project-wide setting) _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Whether to include this crate’s docs in the project docs package _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) If set, the given numtide devshell `devshells.` will be populated with the required packages and environment variables to build this crate. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/options/numtideDevshell.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/numtideDevshell.nix) Profiles to generate packages for this crate (if set will override project-wide setting) _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Example:_ `{ dev = {}; release.runTests = true; custom-profile.features = ["some" "features"]; }` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Features to enable for this profile. Set to ‘null’ to enable default features only (this is the default). If set to a list of features then ‘–no-default-features’ will be passed to Cargo. If you want to also enable default features you can add ‘default’ feature to the list of features. _Type:_ null or (list of string) _Default:_ `"[\"default\"]"` _Example:_ `["tracing" "publish"]` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) Whether to run tests for this profile _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) What to rename this crate’s outputs to in `nix flake show` _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Runtime libraries that will be: * patched into the binary at build time, * present in `LD_LIBRARY_PATH` environment variable in development shell. Note that when it’s patched in at build time, a separate derivation will be created that “wraps” the original derivation to not cause the whole crate to recompile when you only change `runtimeLibs`. The original derivation can be accessed via `.passthru.unwrapped` attribute. _Type:_ list of package _Default:_ `[ ]` _Example:_ `[pkgs.alsa-lib pkgs.libxkbcommon]` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Targets to generate packages for this crate (if set will override project-wide setting) _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Example:_ `{ wasm32-unknown-unknown.profiles = ["release"]; x86_64-unknown-linux-gnu.default = true; }` _Declared by:_ * [nix-cargo-integration/src/modules/crate.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/crate.nix) Whether or not this target is the default target _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The profiles to generate packages for this target. _Type:_ null or (list of string) _Default:_ `"all profiles"` _Example:_ `["dev" "release" "custom-profile"]` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) A function to build a crate from a provided source (and crate path if workspace) automagically The arguments are: * `src`: the source for the project (or crate if it’s just a crate) * `cratePath`: relative path to the provided `src`, used to find the crate if it’s a workspace * `mkRustToolchain`: function that outputs a rust toolchain package (like `nci.toolchains.mkBuild`, which is also the default), will be used when building * `drvConfig` and `depsDrvConfig`: see `nci.crates..` in this documentation (optional) _Type:_ function that evaluates to a(n) package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Each crate’s (or project’s) outputs _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) Packages of this crate mapped to profiles _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) All packages for all targets _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Packages of this crate mapped to profiles _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Tests only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Clippy only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) The development shell for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Docs only package for this crate _Type:_ package _(read only)_ _Declared by:_ * [nix-cargo-integration/src/modules/output.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/output.nix) Projects (workspaces / crates) to generate outputs for _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ # define the absolute path to the project my-project.path = ./.; }` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) `checkProfile` option that will affect all packages in this project. For more information refer to `nci.crates..checkProfile` option. _Type:_ string _Default:_ `"release"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `clippyProfile` option that will affect all packages in this project. For more information refer to `nci.crates..clippyProfile` option. _Type:_ string _Default:_ `"dev"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The crate to link it’s index.html when building project docs. The default will be not symlinking any index.html. _Type:_ null or string _Default:_ `null` _Example:_ `"my-crate"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `docsProfile` option that will affect all packages in this project. For more information refer to `nci.crates..docsProfile` option. _Type:_ string _Default:_ `"release"` _Example:_ `"custom-profile"` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) `export` option that will affect all packages in this project. For more information refer to `nci.crates..export` option. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `includeInProjectDocs` option that will affect all packages in this project. For more information refer to `nci.crates..includeInProjectDocs` option. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) If set, the given numtide devshell `devshells.` will be populated with the required packages and environment variables to build this crate. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nix-cargo-integration/src/options/numtideDevshell.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/numtideDevshell.nix) The absolute path of this project _Type:_ absolute path _Example:_ `./path/to/project` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `profiles` option that will affect all packages in this project. For more information refer to `nci.crates..profiles` option. _Type:_ attribute set of (submodule) _Default:_ `{ dev = { }; release = { runTests = true; }; }` _Example:_ `{ dev = {}; release.runTests = true; custom-profile.features = ["some" "features"]; }` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Features to enable for this profile. Set to ‘null’ to enable default features only (this is the default). If set to a list of features then ‘–no-default-features’ will be passed to Cargo. If you want to also enable default features you can add ‘default’ feature to the list of features. _Type:_ null or (list of string) _Default:_ `"[\"default\"]"` _Example:_ `["tracing" "publish"]` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) Whether to run tests for this profile _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/profile.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/profile.nix) `runtimeLibs` option that will affect all packages in this project. For more information refer to `nci.crates..runtimeLibs` option. _Type:_ list of package _Default:_ `[ ]` _Example:_ `[pkgs.alsa-lib pkgs.libxkbcommon]` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) `targets` option that will affect all packages in this project. For more information refer to `nci.crates..targets` option. _Type:_ attribute set of (submodule) _Default:_ `'' { .default = true; } ''` _Example:_ `{ wasm32-unknown-unknown.profiles = ["release"]; x86_64-unknown-linux-gnu.default = true; }` _Declared by:_ * [nix-cargo-integration/src/modules/project.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/project.nix) Whether or not this target is the default target _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) Change dependencies derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) Change main derivation configuration `mkDerivation` options must be defined under the `mkDerivation` attribute. Environment variables and non-mkDerivation options must be defined under the `env` attribute. This is passed to `dream2nix` as is, so you could also define any other dream2nix module options here (eg. `rust-crane`). _Type:_ attribute set of anything _Default:_ `{ }` _Example:_ `{ mkDerivation = { # inputs and most other stuff will automatically merge buildInputs = [pkgs.hello]; }; # define env variables and options not defined in standard mkDerivation interface like this env = { CARGO_TERM_VERBOSE = "true"; someOtherEnvVar = 1; }; }` _Declared by:_ * [nix-cargo-integration/src/options/drvConfig.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/options/drvConfig.nix) The profiles to generate packages for this target. _Type:_ null or (list of string) _Default:_ `"all profiles"` _Example:_ `["dev" "release" "custom-profile"]` _Declared by:_ * [nix-cargo-integration/src/modules/target.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/modules/target.nix) The toolchain configuration that will be used _Type:_ null or absolute path or (attribute set) _Default:_ `null` _Example:_ `./rust-subproject/rust-toolchain.toml` _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) The function to (given a nixpkgs instance) generate a toolchain that will be used when building derivations _Type:_ function that evaluates to a(n) package _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) The function to (given a nixpkgs instance) generate a toolchain that will be used in the development shell _Type:_ function that evaluates to a(n) package _Declared by:_ * [nix-cargo-integration/src/interface.nix](https://github.com/yusdacra/nix-cargo-integration/blob/master/src/interface.nix) --- # nixops4 - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nixops4.md "Suggest an edit") [NixOps4](https://nixops.dev/) is a platform for any kind of deployment in much the same way Nix is a platform for any build. **⚠️ It is currently in development and changing** To use these options, add to your flake inputs: `nixops4.url = "github:nixops4/nixops4";` and inside the `mkFlake`: `imports = [ inputs.nixops4.modules.flake.default ];` Run `nix flake lock` and you're set. An attribute set of NixOps4 deployments. See [`Module Options`](https://nixops.dev/manual/development/modules/) . Each deployment passed to [`mkDeployment`](https://nixops.dev/manual/development/lib/#mkDeployment) . Definitions in `nixops4Deployments.` give rise to the definitions: * `flake.nixops4Configurations.` - the flake output attribute for NixOps4, * `perSystem.checks.nixops-deployment-providers-` ([`perSystem.checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) ), to make sure the deployment’s resource providers are available on the supported flake systems - i.e. that the deployment can performed _from_ all [systems](https://flake.parts/options/flake-parts#opt-systems) . _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [nixops4/nix/flake-parts/flake-parts.nix](https://github.com/nixops4/nixops4/blob/main/nix/flake-parts/flake-parts.nix) The resource providers to use. Resource providers are the executables that implement the operations on resources. While provider information can be provided directly in the resource, this indirection allows for the same provider to be used for multiple resources conveniently. It also allows for expressions to extract just the providers from a deployment configuration. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Example:_ `{ local = inputs.nixops4.modules.nixops4Provider.local; foo = inputs.nixops4-resources-foo.modules.nixops4Provider.default; }` _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) Any command line arguments to pass to the executable. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) A description of what the resource provider does. This will be displayed on the provider’s documentation index page. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The path to the executable that implements the resource operations. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) The display name of the resource provider. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The types of resources that this provider can create. The purpose of the `resourceTypes` option is to provide the information necessary to create the `providers` module argument. The attribute name under `resourceTypes` is the resource type, and gives rise to `providers..`. _Type:_ lazy attribute set of (submodule) _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) A description of what this resource type represents. _Type:_ string _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) A module that declares the inputs to the resource using its options. _Type:_ module _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) A module that declares the outputs of the resource using its options. _Type:_ module _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.args`](https://flake.parts/options/nixops4#opt-nixops4Deployments._name_.resources._name_.provider.args) . _Type:_ list of string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.executable`](https://flake.parts/options/nixops4#opt-nixops4Deployments._name_.resources._name_.provider.executable) . _Type:_ string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Value to be used for [`nixops4Deployments..resources..provider.type`](https://flake.parts/options/nixops4#opt-nixops4Deployments._name_.resources._name_.provider.type) . _Type:_ string _Default:_ inherited from provider _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Whether the resource requires state to be stored. _Type:_ boolean _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) The type of resource to create. Most resource providers will have some fixed set of resource types. This selects one of them. We suggest to set (override) this only if absolutely necessary for compatibility with earlier versions of a resource. _Type:_ string _Default:_ inherited attribute name _Declared by:_ * [nixops4/nix/resourceType/resourceType.nix](https://github.com/nixops4/nixops4/blob/main/nix/resourceType/resourceType.nix) Base URL for linking to the provider’s source code. Used in generated documentation to create links to option declarations. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) Name of the source repository or project. Used in generated documentation link display text. _Type:_ string _Declared by:_ * [nixops4/nix/provider/provider-doc.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider-doc.nix) The type of communication to use with the resource provider executable. _Type:_ string _Default:_ `"stdio"` _Declared by:_ * [nixops4/nix/provider/provider.nix](https://github.com/nixops4/nixops4/blob/main/nix/provider/provider.nix) The resources to deploy. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) * [nixops4/nix/deployment/resources.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resources.nix) The inputs to the resource. These parameters primarily control the configuration of the resource. They are set by you (a module author or configuration author) and are passed to the resource provider executable. _Type:_ submodule _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The outputs of the resource. These follow from the real world existence of the resource. They are set by NixOps, which in turn gets this information from resource providers. _Type:_ submodule _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) Any command line arguments to pass to the executable. _Type:_ list of (string or (string or absolute path or signed integer) convertible to it) _Default:_ `[ ]` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The path to the executable that implements the resource operations. _Type:_ string _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The type of communication to use with the resource provider executable. _Type:_ value “stdio” (singular enum) _Default:_ `"stdio"` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) Whether the resource requires state to be stored. _Type:_ boolean _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The type of resource to create. Most resource providers will have some fixed set of resource types. _Type:_ string _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) The state handler for the resource, if needed. _Type:_ null or string _Default:_ `null` _Declared by:_ * [nixops4/nix/deployment/resource.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/resource.nix) A resource type from the `providers` module argument. _Type:_ raw value _Example:_ `providers.local.file` _Declared by:_ * [nixops4/nix/deployment/providers.nix](https://github.com/nixops4/nixops4/blob/main/nix/deployment/providers.nix) --- # pkgs-by-name-for-flake-parts - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/pkgs-by-name-for-flake-parts.md "Suggest an edit") [pkgs-by-name-for-flake-parts](https://github.com/drupol/pkgs-by-name-for-flake-parts) is a flake-parts that can autoload Nix packages under a particular directory. It transform a directory tree containing package files suitable for callPackage into a matching nested attribute set of derivations. Find the documentation and example in the [manual](https://nixos.org/manual/nixpkgs/stable/index.html#function-library-lib.filesystem.packagesFromDirectoryRecursive) . Quick example how to use it: ``{ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # (1) add `pkgs-by-name-for-flake-parts` input pkgs-by-name-for-flake-parts.url = "github:drupol/pkgs-by-name-for-flake-parts"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; # (2) import pkgs-by-name-for-flake-parts module imports = [ inputs.pkgs-by-name-for-flake-parts.flakeModule ]; perSystem = { config, self', inputs', pkgs, system, ... }: { # (3) point to your directory containing Nix packages pkgsDirectory = ./nix/pkgs-by-name; }; }; }`` If set, the flake will import packages from the specified directory. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [pkgs-by-name-for-flake-parts/flake-module.nix](https://github.com/drupol/pkgs-by-name-for-flake-parts/blob/main/flake-module.nix) The separator to use when flattening package names. _Type:_ string _Default:_ `"/"` _Declared by:_ * [pkgs-by-name-for-flake-parts/flake-module.nix](https://github.com/drupol/pkgs-by-name-for-flake-parts/blob/main/flake-module.nix) --- # pydev - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/pydev.md "Suggest an edit") [pydev](https://github.com/oceansprint/pydev) is an opinionated environment for developing Python packages. To use these options, add to your flake inputs: `pydev.url = "github:oceansprint/pydev";` and inside the `mkFlake`: `imports = [ inputs.pydev.flakeModule ];` Run `nix flake lock` and you're set. Extra dependencies for tests. _Type:_ list of string _Declared by:_ * [pydev/interface.nix](https://github.com/oceansprint/pydev/blob/main/interface.nix) Supported Python versions. _Type:_ list of string _Declared by:_ * [pydev/interface.nix](https://github.com/oceansprint/pydev/blob/main/interface.nix) --- # rust-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/rust-flake.md "Suggest an edit") [`rust-flake`](https://github.com/juspay/rust-flake) scans your flake files for Rust projects and turns them into packages using [crane](https://crane.dev/) . It also provides [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) (clippy) and [`devShells`](https://flake.parts/options/flake-parts#opt-perSystem.devShells) Multi-crate workspaces are supported. To use these options, add to your flake inputs: `rust-flake.url = "github:juspay/rust-flake";` and inside the `mkFlake`: `imports = [ inputs.rust-flake.flakeModules.default inputs.rust-flake.flakeModules.nixpkgs ];` Run `nix flake lock` and you're set. Cargo.toml parsed in Nix _Type:_ attribute set of raw value _Default:_ `fromTOML (readFile (self + "/Cargo.toml"))` _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) The value of `crane.mkLib pkgs` providing crane library functions _Type:_ lazy attribute set of raw value _Default:_ ``computed from `rust-flake.inputs.crane` and [`perSystem.rust-project.toolchain`](#opt-perSystem.rust-project.toolchain)`` _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) The Nix file to import automatically if it exists in the crate directory. By default, nothing is automagically imported. _Type:_ null or string _Default:_ `null` _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) Attrset of crates pointing to the local path, which has its Cargo.toml file _Type:_ attribute set of (submodule) _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) List of flake output types to autowire. Using an empty list will disable autowiring entirely, enabling you to manually wire them using `config.rust-project.crates..crane.outputs`. _Type:_ list of (one of “crate”, “doc”, “clippy”) _Default:_ `[ "crate" "doc" "clippy" ]` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The parsed Cargo.toml file _Type:_ attribute set of raw value _Default:_ `fromTOML (readFile (path + "/Cargo.toml"))` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Aguments to pass to crane’s `buildPackage` and `buildDepOnly` _Type:_ open submodule of attribute set of raw value _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) (Runtime) buildInputs for the cargo package _Type:_ list of package _Default:_ `[ ]` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) nativeBuildInputs for the cargo package _Type:_ list of package _Default:_ `with pkgs; [ pkg-config makeWrapper ]` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Whether to enable Add flake check for cargo clippy. _Type:_ boolean _Default:_ `true` _Example:_ `true` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Extra arguments to pass to crane’s buildPackage function _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) All Nix packages for the Rust crate _Type:_ lazy attribute set of package _Default:_ lib.mergeAttrs (optionalAttrs (elem “crate” config.autoWire) { “${name}” = config.crane.outputs.drv.crate; }) (optionalAttrs (elem “doc” config.autoWire) { “${name}-doc” = config.crane.outputs.drv.doc; }) _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) All Nix flake checks for the Rust crate _Type:_ lazy attribute set of package _Default:_ `optionalAttrs (elem "clippy" config.autoWire && crane.clippy.enable) { "${name}-clippy" = config.crane.outputs.drv.clippy; }` _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate clippy check _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The Nix package for the Rust crate documentation _Type:_ package _Default:_ _computed with crane_ _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) The path to the crate folder _Type:_ absolute path _Declared by:_ * [rust-flake/nix/modules/crate.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/crate.nix) Default arguments for `config.rust-project.crates..crane.args` _Type:_ module _Default:_ `{ }` _Declared by:_ * [rust-flake/nix/modules/defaults.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/defaults.nix) Source directory for the rust-project package _Type:_ absolute path _Default:_ Files in this flake (`self`) filtered by crane _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) Rust toolchain to use for the rust-project package _Type:_ package _Default:_ Based on the `rust-toolchain.toml` file in the flake directory _Declared by:_ * [rust-flake/nix/modules/flake-module.nix](https://github.com/juspay/rust-flake/blob/main/nix/modules/flake-module.nix) --- # std - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/std.md "Suggest an edit") Add definitions from the [Standard](https://github.com/divnix/std#readme) DevOps framework to your flake. It organizes and disciplines your Nix and thereby speeds you up. It also comes with great horizontal integrations of high quality vertical DevOps tooling crafted by the Nix Ecosystem. To use these options, add to your flake inputs: `std.url = "github:divnix/std";` and inside the `mkFlake`: `imports = [ inputs.std.flakeModule ];` Run `nix flake lock` and you're set. --- # nix-unit - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-unit.md "Suggest an edit") Run [nix-unit](https://nix-community.github.io/nix-unit/) tests in [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) . See also the [complete example / template](https://nix-community.github.io/nix-unit/examples/flake-parts.html) . To use these options, add to your flake inputs: `nix-unit.url = "github:nix-community/nix-unit";` and inside the `mkFlake`: `imports = [ inputs.nix-unit.modules.flake.default ];` Run `nix flake lock` and you're set. A nix-unit test suite; as [introduced in the manual](https://nix-community.github.io/nix-unit/examples/simple.html) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ "test integer equality is reflexive" = { expr = "123"; expected = "123"; }; "frobnicator" = { "testFoo" = { expr = "foo"; expected = "foo"; }; } }` _Declared by:_ * [nix-unit/lib/modules/flake/tests-output.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/tests-output.nix) Copy system-agnostic tests from the `flake.tests` attribute into this system’s tests. This ensures that the tests that are not defined in the system-specific tests are still run in `nix flake check`. _Type:_ boolean _Default:_ `true` _Declared by:_ * [nix-unit/lib/modules/flake/system-agnostic.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system-agnostic.nix) The nix-unit package to use. _Type:_ package _Default:_ package from the `nix-unit` flake, using that flake’s `inputs.nixpkgs` (except for `follows`, etc) _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) * \[nix-unit/lib/modules.nix, via option flake.modules.flake.default\](https://github.com/nix-community/nix-unit/blob/main/lib/modules.nix, via option flake.modules.flake.default) Whether to allow network access in the nix-unit tests. This is useful for tests that depend on fetched sources, as is often the case with flake inputs. `nix-unit.inputs` may also be a solution, and tends to perform better. Both solutions can be combined. _Type:_ boolean _Default:_ `false` _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) Input overrides to pass to nix-unit. Since nix-unit will be invoked in the nix sandbox, any flake inputs that are required for the tests must be passed here. This prevents the need to download these inputs for each run. _Type:_ attribute set of absolute path _Default:_ `{ }` _Example:_ `{ inherit (inputs) nixpkgs flake-parts; }` _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) A nix-unit test suite; as [introduced in the manual](https://nix-community.github.io/nix-unit/examples/simple.html) . _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `{ "test integer equality is reflexive" = { expr = "123"; expected = "123"; }; "frobnicator" = { "testFoo" = { expr = "foo"; expected = "foo"; }; } }` _Declared by:_ * [nix-unit/lib/modules/flake/system.nix](https://github.com/nix-community/nix-unit/blob/main/lib/modules/flake/system.nix) --- # emanote - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/emanote.md "Suggest an edit") [`Emanote`](https://github.com/srid/emanote) renders your Markdown files as a nice static site with hot reload. Use `nix run` to run the live server, and `nix build` to build the static site. See [emanote-template](https://github.com/srid/emanote-template/blob/master/flake.nix) for an example `flake.nix`. To use these options, add to your flake inputs: `emanote.url = "github:srid/emanote";` and inside the `mkFlake`: `imports = [ inputs.emanote.flakeModule ];` Run `nix flake lock` and you're set. Emanote sites config _Type:_ submodule _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module) Emanote sites _Type:_ attribute set of (submodule) _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module) The emanote package to use _Type:_ package _Default:_ `"inputs'.emanote.packages.default"` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) Allow broken internal links in the static site _Type:_ boolean _Default:_ `false` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) Top-level directory to copy the static site to _Type:_ string _Default:_ `"Root path"` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) Whether to enable flake checks (htmlproofer) for this site _Type:_ boolean _Default:_ `true` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) Extra configuration to be merged into index.yaml _Type:_ attribute set _Default:_ `{ }` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) List of layers to use for the site _Type:_ list of (submodule) _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) Mount point for the layer _Type:_ null or string _Default:_ `null` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/layer.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/layer.nix) Layer spec _Type:_ string _(read only)_ _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/layer.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/layer.nix) Layer spec _Type:_ string _(read only)_ _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/layer.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/layer.nix) Directory path to notes _Type:_ absolute path _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/layer.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/layer.nix) Like `path` but local (not in Nix store) _Type:_ string _Default:_ toString path _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/layer.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/layer.nix) The static website package _Type:_ package _(read only)_ _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/outputs.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/outputs.nix) The live server app _Type:_ attribute set _(read only)_ _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/outputs.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/outputs.nix) Link check for the static website _Type:_ null or package _(read only)_ _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site/outputs.nix](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site/outputs.nix) Port to listen on _Type:_ signed integer _Default:_ `"Random port"` _Declared by:_ * [emanote/nix/modules/flake-parts/flake-module/site](https://github.com/srid/emanote/blob/master/nix/modules/flake-parts/flake-module/site) --- # gitlab-ci - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/gitlab-ci.md "Suggest an edit") Creates an app called `.#gitlab-ci` that prints a GitLab dynamic pipeline to stdout. For examples see the [README](https://gitlab.horizon-haskell.net/nix/gitlab-ci) . To use these options, add to your flake inputs: `gitlab-ci.url = "git+https://gitlab.horizon-haskell.net/nix/gitlab-ci";` and inside the `mkFlake`: `imports = [ inputs.gitlab-ci.flakeModule ];` Run `nix flake lock` and you're set. Whether to enable gitlab-ci. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) The derivation that prints the .gitlab-ci.yml content to stdout. Only override this if you want to change the behaviour of this module. _Type:_ package _Default:_ `` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) Top level `jobs`, expressed as an attribute set. _Type:_ attribute set _Example:_ `{ build = { script = [ "echo \"Success\"" ]; stage = "build"; }; test = { script = [ "echo \"Success\"" ]; stage = "test"; }; }` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) The name of this app under `apps`. _Type:_ string _Default:_ `"gitlab-ci"` _Example:_ `"gitlab-ci"` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) List of `stages` under the `stages:` key. _Type:_ list of string _Example:_ `[ "build" "test" ]` _Declared by:_ * \[gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci\](https://gitlab.horizon-haskell.net/nix/gitlab-ci/modules/default.nix, via option flake.modules.flake.gitlab-ci) --- # nix-bindings-rust - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/nix-bindings-rust.md "Suggest an edit") A small support module that takes care of the `nix-bindings-rust` dependency in `nix-cargo-integration` projects. * Provides a module that configures the Nix dependency * Provides `checks..dependency-nix-bindings-*` to ensure that tests are run See [the README](https://github.com/nixops4/nix-bindings-rust#readme) . To use these options, add to your flake inputs: `nix-bindings-rust.url = "github:nixops4/nix-bindings-rust";` and inside the `mkFlake`: `imports = [ inputs.nix-bindings-rust.modules.flake.default ];` Run `nix flake lock` and you're set. A module to load into your nix-cargo-integration [`perSystem.nci.projects..depsDrvConfig`](https://flake.parts/options/nix-cargo-integration#opt-perSystem.nci.projects._name_.depsDrvConfig) or similar such options. Example: `perSystem = perSystem@{ config, ... }: { nci.projects."my_project".depsDrvConfig = perSystem.config.nix-bindings-rust.nciBuildConfig; }` _Type:_ module _Declared by:_ * [nix-bindings-rust/flake.nix](https://github.com/nixops4/nix-bindings-rust/blob/master/flake.nix) The Nix package to use when building the `nix-bindings-...` crates. _Type:_ package _Default:_ pkgs.nix _Declared by:_ * [nix-bindings-rust/flake.nix](https://github.com/nixops4/nix-bindings-rust/blob/master/flake.nix) --- # files - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/files.md "Suggest an edit") In-repository file generation flake-parts module As Nix users, we naturally want the source of all truth to reside within Nix files 📜 and other files that include that truth to be generated ⚡. For example, who didn't want to dynamically include various facts about their project in the readme and make sure those are up-to-date? but 1. project repositories are expected to include _tracked_ readmes 📄 2. Git tracked or not, `.gitignore` files must sometimes exist 🤷 3. `.github/workflows/*` must be Git tracked (don't get me started on these) 4. and the list goes on You may be thinking > Wait 🤔, so what if they must be tracked—I can still generate them from Nix and then check that my repository is clean. And you'd be right! ...except that checking that your repository is clean cannot be a flake check. > Okay, so I'll make a flake check for each generated file. Well, yes, you could. ...or you could use this project—if you're using flake-parts, that is (sorry). To use these options, add to your flake inputs: `files.url = "github:mightyiam/files";` and inside the `mkFlake`: `imports = [ inputs.files.flakeModules.default ];` Run `nix flake lock` and you're set. Files to be written and checked for. _Type:_ list of (submodule) _Default:_ `[ ]` _Example:_ `[ { path_ = "README.md"; drv = pkgs.writeText "README.md" # markdown '' # Practical Project Clear documentation ''; } { path_ = ".gitignore"; drv = pkgs.writeText "gitignore" '' result ''; } ]` _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) Provide the file as a derivation. The out path is expected to be a file. Directory out path not supported; pull request welcome! _Type:_ package _Example:_ `pkgs.writers.writeJSON "gh-actions-workflow-check.yaml" { on.push = { }; jobs.check = { runs-on = "ubuntu-latest"; steps = [ { uses = "actions/checkout@v4"; } { uses = "DeterminateSystems/nix-installer-action@main"; } { uses = "DeterminateSystems/magic-nix-cache-action@main"; } { run = "nix flake check"; } ]; }; }` _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) File path relative to Git top-level. _Type:_ string _Example:_ `".github/workflows/check.yaml"` _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) Each check is performed by copying the existing file into the store and comparing its contents with the configured contents. For that purpose a path to the file must be provided to Nix. Configured file paths are relative to the Git top-level. But Nix is oblivious to the Git top-level. So file paths are resolved relative to the value of this option. The default value is correct when the flake is at the Git top-level. Otherwise the correct Git top-level must be provided. _Type:_ absolute path _Default:_ `self` _Example:_ `../.` _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) Provides an executable that writes each configured file’s contents to its path. Missing parent directories are created. Consider including this in the project’s development shell. _Type:_ package _(read only)_ _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) The writer executable filename. _Type:_ (optionally newline-terminated) single-line string _Default:_ `"write-files"` _Example:_ `"files-write"` _Declared by:_ * [files/module.nix](https://github.com/mightyiam/files/blob/main/module.nix) --- # proc-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/proc-flake.md "Suggest an edit") A module for running multiple processes in a dev shell. [honcho](https://github.com/nickstenning/honcho) is used to launch the processes. See [proc-flake README](https://github.com/srid/proc-flake#readme) To use these options, add to your flake inputs: `proc-flake.url = "github:srid/proc-flake";` and inside the `mkFlake`: `imports = [ inputs.proc-flake.flakeModule ];` Run `nix flake lock` and you're set. Configuration for processes to run in the development environment. _Type:_ submodule _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) Process groups that can be invoked individually. _Type:_ attribute set of (submodule) _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) The package to use to run the given process group. _Type:_ package _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) Processes to run simultaneously when running this group. _Type:_ attribute set of (submodule) _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) The command to run the given process. _Type:_ string _Declared by:_ * [proc-flake/flake-module.nix](https://github.com/srid/proc-flake/blob/master/flake-module.nix) --- # process-compose-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/process-compose-flake.md "Suggest an edit") This flake-parts module allows you to declare one or more process-compose configurations using Nix attribute sets. It will generate corresponding packages that wrap the [process-compose](https://github.com/F1bonacc1/process-compose) binary with the given configuration. See [quick example](https://community.flake.parts/process-compose-flake#quick-example) to get started with [process-compose-flake](https://github.com/Platonic-Systems/process-compose-flake) To use these options, add to your flake inputs: `process-compose-flake.url = "github:Platonic-Systems/process-compose-flake";` and inside the `mkFlake`: `imports = [ inputs.process-compose-flake.flakeModule ];` Run `nix flake lock` and you're set. process-compose-flake: creates [process-compose](https://github.com/F1bonacc1/process-compose) executables from process-compose configurations written as Nix attribute sets. _Type:_ attribute set of (submodule) _Declared by:_ * [process-compose-flake/nix/flake-module.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/flake-module.nix) The process-compose package to bundle up in the command package and flake app. _Type:_ package _Default:_ `pkgs.process-compose` _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) Environment variables to pass to process-compose binary. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Disable the TUI (Text User Interface) of process-compose _Type:_ null or boolean _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) CLI options to pass to process-compose binary _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --keep-project to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --log-file to process-compose _Type:_ null or string _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --no-server to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --ordered-shutdown to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --port to process-compose _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --read-only to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --unix-socket to process-compose _Type:_ null or string _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Pass --use-uds to process-compose _Type:_ boolean _Default:_ `false` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell script prefix setting environment variables _Type:_ string _(read only)_ _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) The final CLI arguments we will pass to process-compose binary. _Type:_ string _(read only)_ _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell commands to run after process-compose completes. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) Shell commands to run before process-compose starts. _Type:_ strings concatenated with “\\n” _Default:_ `""` _Declared by:_ * [process-compose-flake/nix/process-compose/cli.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/cli.nix) The final package that will run ‘process-compose up’ for this configuration. _Type:_ package _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) Run the `process-compose` package with `test` process Enabled. Note: This is meant to be run in CI. _Type:_ null or package _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/test.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/test.nix) Like `outputs.package` but includes the “test” process Set to null if there is no “test” process. _Type:_ null or package _Declared by:_ * [process-compose-flake/nix/process-compose](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose) For each attribute `x = process-compose config` a flake app and package `x` is added to the flake. Which runs process-compose with the declared config. _Type:_ submodule _Default:_ `{ }` _Example:_ `{ watch-server = { processes = { backend = "${pkgs.simple-http-server}"; frontend = "${pkgs.simple-http-server}"; }; }; };` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Attrset of environment variables. List of strings is also allowed. _Type:_ null or (list of string) or attribute set of string _Default:_ `null` _Example:_ `{ ABC = "2221"; PRINT_ERR = "111"; }` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Log length to display in TUI mode. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `3000` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Level of logs to output. _Type:_ null or one of “trace”, “debug”, “info”, “warn”, “error”, “fatal”, “panic” _Default:_ `null` _Example:_ `"info"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) File to write the logs to. _Type:_ null or string _Default:_ `null` _Example:_ `"./pc.log"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) A map of process names to their configuration. _Type:_ attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Restart will wait `process.availability.backoff_seconds` seconds between `stop` and `start` of the process. If not configured the default value is 1s. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `2` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to gracefully stop all the processes upon the exit of the current process. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to gracefully stop all the processes upon the process being skipped. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Max. number of times to restart. Tip: It might be sometimes useful to `exit_on_end` with `restart: on_failure` and `max_restarts` in case you want the process to recover from failure and only cause termination on success. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) When to restart the process. _Type:_ null or one of “always”, “on\_failure”, “exit\_on\_failure”, “no” _Default:_ `null` _Example:_ `"on_failure"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The command or script or package that runs this process If a package is given, its executable is used as the command. Otherwise, the command string is wrapped in a `pkgs.writeShellApplication` which uses ShellCheck and runs the command in bash. _Type:_ package or string _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Process dependency relationships _Type:_ null or (attribute set of (submodule)) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The condition the parent process must be in before starting the current one. _Type:_ one of “process\_completed”, “process\_completed\_successfully”, “process\_healthy”, “process\_log\_ready”, “process\_started” _Example:_ `"process_healthy"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether to disable colors in the logs. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Whether the process is disabled. Useful when a process is required to be started only in a given scenario, like while running in CI. Even if disabled, the process is still listed in the TUI and the REST client, and can be started manually when needed. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Attrset of environment variables. List of strings is also allowed. _Type:_ null or (list of string) or attribute set of string _Default:_ `null` _Example:_ `{ ABC = "2221"; PRINT_ERR = "111"; }` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) * For processes that start services / daemons in the background, please use the `is_daemon` flag set to `true`. * In case a process is daemon it will be considered running until stopped. * Daemon processes can only be stopped with the `$PROCESSNAME.shutdown.command` as in the example above. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Foreground processes are useful for cases when a full `tty` access is required (e.g. `vim`, `top`, `gdb -tui`) * Foreground process have to be started manually (`F7`). They can be started multiple times. * They are available in TUI mode only. * To return to TUI, exit the foreground process. * In TUI mode, a local process will be started. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Simulate TTY mode for this process _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The settings used to check if the process is alive. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Execution settings. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The command to execute in order to check the health of the process. _Type:_ string _Example:_ `"ps -ef | grep -v grep | grep my-proccess"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of times to fail before giving up on restarting the process. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) URL to determine the health of the process. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The host address which `process-compose` uses to probe the process. _Type:_ string _Example:_ `"google.com"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The path to the healtcheck endpoint. _Type:_ string _Default:_ `"/"` _Example:_ `"/"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Which port to probe the process on. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Example:_ `"8080"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The protocol used to probe the process listening on `host`. _Type:_ string _Default:_ `"http"` _Example:_ `"http"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Wait for `initial_delay_seconds` before starting the probe/healthcheck. _Type:_ unsigned integer, meaning >=0 _Default:_ `0` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Check the health every `period_seconds`. _Type:_ unsigned integer, meaning >=0 _Default:_ `10` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of successful checks before marking the process `Ready`. _Type:_ unsigned integer, meaning >=0 _Default:_ `1` _Example:_ `1` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) How long to wait for a given probe request. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Log location of the `process-compose` process. _Type:_ null or string _Default:_ `null` _Example:_ `"./pc.my-proccess.log"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Used to group processes together. _Type:_ string _Default:_ `"default"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The settings used to check if the process is ready to accept connections. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Execution settings. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The command to execute in order to check the health of the process. _Type:_ string _Example:_ `"ps -ef | grep -v grep | grep my-proccess"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of times to fail before giving up on restarting the process. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) URL to determine the health of the process. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The host address which `process-compose` uses to probe the process. _Type:_ string _Example:_ `"google.com"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The path to the healtcheck endpoint. _Type:_ string _Default:_ `"/"` _Example:_ `"/"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Which port to probe the process on. _Type:_ 16 bit unsigned integer; between 0 and 65535 (both inclusive) _Example:_ `"8080"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) The protocol used to probe the process listening on `host`. _Type:_ string _Default:_ `"http"` _Example:_ `"http"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Wait for `initial_delay_seconds` before starting the probe/healthcheck. _Type:_ unsigned integer, meaning >=0 _Default:_ `0` _Example:_ `0` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Check the health every `period_seconds`. _Type:_ unsigned integer, meaning >=0 _Default:_ `10` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) Number of successful checks before marking the process `Ready`. _Type:_ unsigned integer, meaning >=0 _Default:_ `1` _Example:_ `1` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) How long to wait for a given probe request. _Type:_ unsigned integer, meaning >=0 _Default:_ `3` _Example:_ `3` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/probe.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/probe.nix) A string to search for in the output of the command that indicates the process is ready. String will be part of a regex ‘._{ready\_log\_line}._’. This should be used for long running processes that do not have a readily accessible check for http or similar other checks. _Type:_ null or string _Default:_ `null` _Example:_ `"process is ready"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The command to run while process-compose is trying to gracefully shutdown the current process. Note: The `shutdown.command` is executed with all the Environment Variables of the primary process _Type:_ null or string _Default:_ `null` _Example:_ `"sleep 2 && pkill -f 'test_loop.bash my-proccess'"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) If `shutdown.command` is not defined, exit the process with this signal. Defaults to `15` (SIGTERM) _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `15` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Wait for `timeout_seconds` for its completion (if not defined wait for 10 seconds). Upon timeout, `SIGKILL` is sent to the process. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `10` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) The directory to run the process in. _Type:_ null or string _Default:_ `null` _Example:_ `"/tmp"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings/process.nix](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings/process.nix) Arguments to pass to the shell given by `shell_command`. _Type:_ string _Default:_ `"-c"` _Example:_ `"-c"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) The shell to use to run the process `command`s. For reproducibility across systems, by default this uses `pkgs.bash`. _Type:_ string _Default:_ `"lib.getExe pkgs.bash"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) Version of the process-compose configuration. _Type:_ null or string _Default:_ `null` _Example:_ `"0.5"` _Declared by:_ * [process-compose-flake/nix/process-compose/settings](https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/settings) --- # haskell-flake - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/haskell-flake.md "Suggest an edit") [`haskell-flake`](https://community.flake.parts/haskell-flake) scans your flake files for Haskell projects and turns them into packages using the Nixpkgs Haskell infrastructure. It also provides [`checks`](https://flake.parts/options/flake-parts#opt-perSystem.checks) and [`devShells`](https://flake.parts/options/flake-parts#opt-perSystem.devShells) Multiple projects can be declared to represent each package set, which is great for GHCJS frontends. To use these options, add to your flake inputs: `haskell-flake.url = "github:srid/haskell-flake";` and inside the `mkFlake`: `imports = [ inputs.haskell-flake.flakeModule ];` Run `nix flake lock` and you're set. A lazy attrset of `haskellProjects.` modules that can be imported in other flakes. _Type:_ lazy attribute set of module _Default:_ Package and dependency information for this project exposed for reuse in another flake, when using this project as a Haskell dependency. The ‘output’ module of the default project is included by default, returning `defaults.projectModules.output`. _Declared by:_ * [haskell-flake/nix/modules/project-modules.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-modules.nix) Patch an existing `haskellProject` to run some checks. This module will create a flake check automatically. _Type:_ lazy attribute set of (submodule) _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Arbitrary expression to evaluate as part of the generated flake check _Type:_ raw value _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Extra configuration to apply to the patched haskell-flake project. _Type:_ module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Which `haskellProjects.??` to patch. _Type:_ string _Default:_ `"default"` _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) List of patches to apply to the project root. Each patch can be a path to the diff file, or inline patch string. _Type:_ list of (absolute path or string) _Declared by:_ * [haskell-flake/nix/modules/project-tests.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project-tests.nix) Haskell projects _Type:_ lazy attribute set of (submodule) _Declared by:_ * [haskell-flake/nix/modules/projects.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/projects.nix) Additional packages to add to `basePackages`. Local packages are added automatically (see `config.defaults.packages`): You can also override the source for existing packages here. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/packages](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/packages) List of flake output types to autowire. Using an empty list will disable autowiring entirely, enabling you to manually wire them using `config.haskellProjects..outputs`. _Type:_ list of (one of “packages”, “checks”, “apps”, “devShells”) _Default:_ `[ "packages" "checks" "apps" "devShells" ]` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Which Haskell package set / compiler to use. You can effectively select the GHC version here. To get the appropriate value, run: `nix-env -f "" -qaP -A haskell.compiler` And then, use that in `pkgs.haskell.packages.ghc` _Type:_ lazy attribute set of raw value _Default:_ `pkgs.haskellPackages` _Example:_ `"pkgs.haskell.packages.ghc924"` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Whether to enable haskell-flake’s default settings for this project. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Local packages scanned from projectRoot _Type:_ lazy attribute set of module _Default:_ If you have a `cabal.project` file (under `projectRoot`), those packages are automatically discovered. Otherwise, the top-level .cabal file is used to discover the only local package. haskell-flake currently supports a limited range of syntax for `cabal.project`. Specifically it requires an explicit list of package directories under the “packages” option. _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Build tools always included in devShell _Type:_ function that evaluates to a(n) lazy attribute set of (null or package) _Default:_ `` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) A haskell-flake project module that exports the `packages` and `settings` options to the consuming flake. This enables the use of this flake’s Haskell package as a dependency, re-using its overrides. _Type:_ module _Default:_ a generated module _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for all packages whose derivations are produced by haskell-flake. For example, `{ # Inside haskellProjects. imports = [ inputs.moo.haskellFlakeProjectModules.output ]; packages = { foo.source = "0.1"; bar.source = inputs.bar; }; settings = { baz.check = false; }; }` and `... build-depends: moo , foo , bar , baz , qux ...` This will apply the settings to `moo`, `foo`, `bar`, `baz`. But not to `qux`. _Type:_ module _Default:_ `'' Nothing is changed by default. ''` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for all the packages defined using haskell-flake. For example, `{ # Inside haskellProjects. imports = [ inputs.moo.haskellFlakeProjectModules.output ]; packages = { foo.source = "0.1"; bar.source = inputs.bar; }; settings = { baz.check = false; }; }` and `... build-depends: moo , foo , bar , baz , qux ...` This will apply the settings to `moo` and packages in current project. But not to `foo`, `bar`, `baz` and `qux`. _Type:_ module _Default:_ ``'' Speed up builds by disabling haddock and library profiling. Also ensures release-worthiness. This uses `local.toDefinedProject` option to determine which packages to override. Thus, it applies to both local packages as well as transitively imported packags that are local to that flake (managed by haskell-flake). The goal being to use the same configuration consistently for all packages using haskell-flake. ''`` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Default settings for packages local to the current project. _Type:_ module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/defaults.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/defaults.nix) Development shell configuration _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Whether to enable a development shell for the project. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Whether to include benchmark dependencies in the development shell. The value of this option will set the corresponding `doBenchmark` flag in the `shellFor` derivation. _Type:_ boolean _Default:_ `false` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra Haskell libraries available in the shell’s environment. These can be used in the shell’s `runghc` and `ghci` for instance. The argument is the Haskell package set. The return type is an attribute set for overridability and syntax, as only the values are used. _Type:_ null or (function that evaluates to a(n) lazy attribute set of (null or package)) _Default:_ `null` _Example:_ `hp: { inherit (hp) releaser; }` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) A [check](https://flake.parts/options/flake-parts#opt-perSystem.checks) to make sure that your IDE will work. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) Whether to enable a flake check to verify that HLS works. This is equivalent to `nix develop -i -c haskell-language-server`. Note that, HLS will try to access the network through Cabal (see [https://github.com/haskell/haskell-language-server/issues/3128](https://github.com/haskell/haskell-language-server/issues/3128) ), therefore sandboxing must be disabled when evaluating this check. _Type:_ boolean _Default:_ `false` _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) The `hlsCheck` derivation generated for this project. _Type:_ package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) Whether to include Hoogle in the development shell. The value of this option will set the corresponding `withHoogle` flag in the `shellFor` derivation. _Type:_ boolean _Default:_ `true` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra arguments to pass to `pkgs.mkShell`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Example:_ `'' { shellHook = \'\' # Re-generate .cabal files so HLS will work (per hie.yaml) ''${pkgs.findutils}/bin/find -name package.yaml -exec hpack {} \; \'\'; }; ''` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Build tools for developing the Haskell project. These tools are merged with the haskell-flake defaults defined in the `defaults.devShell.tools` option. Set the value to `null` to remove that default tool. _Type:_ function that evaluates to a(n) lazy attribute set of (null or package) _Default:_ `` _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Extra overlays to apply. Normally, you would only use `packages.*` and `settings.*` (which translate to overlays), but you can use this option if you want control over the final overlay. _Type:_ list of A Haskell overlay function taking ‘self’ and ‘super’ args. _Default:_ `[ ]` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) The flake outputs generated for this project. This is an internal option, not meant to be set by the user. _Type:_ submodule _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) Package information for all local packages. Contains the following keys: * `package`: The Haskell package derivation * `exes`: Attrset of executables found in the .cabal file _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) The local package derivation. _Type:_ package _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Attrset of executables from `.cabal` file. If the associated Haskell project has a separate bin output (cf. `enableSeparateBinOutput`), then this exe will refer only to the bin output. NOTE: Evaluating up to this option will involve IFD. _Type:_ lazy attribute set of (submodule) _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Flake apps for each Cabal executable in the project. _Type:_ lazy attribute set of (submodule) _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) Metadata information about the app. Standardized in Nix at [https://github.com/NixOS/nix/pull/11297](https://github.com/NixOS/nix/pull/11297) . Note: `nix flake check` is only aware of the `description` attribute in `meta`. _Type:_ lazy attribute set of raw value _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A path to an executable or a derivation with `meta.mainProgram`. _Type:_ string or package convertible to it _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A type tag for `apps` consumers. _Type:_ value “app” (singular enum) _Default:_ `"app"` _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) The flake checks generated for this project. _Type:_ lazy attribute set of package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/hls-check.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/hls-check.nix) The development shell derivation generated for this project. _Type:_ package _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/devshell.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/devshell.nix) The final Haskell package set including local packages and any overrides, on top of `basePackages`. _Type:_ lazy attribute set of raw value _(read only)_ _Declared by:_ * [haskell-flake/nix/modules/project/outputs.nix](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/outputs.nix) A descriptive name for the flake in which this project resides. If unspecified, the Nix store path’s basename will be used. _Type:_ null or string _Default:_ `null` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Path to the root of the project directory. Chaning this affects certain functionality, like where to look for the ‘cabal.project’ file. _Type:_ absolute path _Default:_ `"Top-level directory of the flake"` _Declared by:_ * [haskell-flake/nix/modules/project](https://github.com/srid/haskell-flake/blob/master/nix/modules/project) Overrides for packages in `basePackages` and `packages`. Attr values are submodules that take the following arguments: * `name`: Package name * `package`: The reference to the package in `packages` option if it exists, null otherwise. * `self`/`super`: The ‘self’ and ‘super’ (aka. ‘final’ and ‘prev’) used in the Haskell overlay. * `pkgs`: Nixpkgs instance of the module user (import’er). Default settings are defined in `project.config.defaults.settings` which can be overriden. _Type:_ lazy attribute set of module _Default:_ `{ }` _Declared by:_ * [haskell-flake/nix/modules/project/settings](https://github.com/srid/haskell-flake/blob/master/nix/modules/project/settings) --- # input-branches - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/input-branches.md "Suggest an edit") Apply changes to a flake input by importing its branch and using it as a Git submodule 🤯 Sometimes, a project can be used as a flake input as-is, but often, we want to apply changes to it prior to consumption. [Nix does not yet provide a feature of seamless application of patches to flake inputs](https://github.com/NixOS/nix/issues/3920) . This project defines a workflow for applying changes to an input by importing its branch into our repository and referring to that branch via path that points to a Git submodule. Commands that support this workflow are provided via [via flake-parts options](https://flake.parts/options/input-branches) . * 🐬 single-repo setup; more self-contained, less to keep track of * 💃 no artificial committing/pushing during development * 🕺 no typing `--override-input` and no accidentally omitting it * ⚡ provided scripts save time and improve consistency * 🧚‍♀️ optional shallow import extra useful for inputs with huge history such as Nixpkgs 1. ⬇️ _import the upstream branch_ into our project's own repository. For example, we can import the upstream `nixpkgs-unstable` branch as `inputs/main/nixpkgs` in our repository. Repositories with huge histories such as Nixpkgs should be fetched shallowly and imported into a single artificial commit. 2. add our repository at that branch as a Git submodule to our repository 💡. For example, at the path `inputs/nixpkgs`. Our `.gitmodules` will include: `[submodule "inputs/nixpkgs"] path = inputs/nixpkgs url = ./.` 3. point the input url to that path: `inputs.nixpkgs.url = "./inputs/nixpkgs";` 4. Declare `inputs.self.submodules = true`. Otherwise, referring to the flake via path (e.g. `nix build .`) would result in submodules being omitted. It seems that Nix does not support `.?submodules=true`. The minimal Nix version is `2.27.0` because [that is the version that introduced `inputs.self.submodules`](https://nix.dev/manual/nix/2.27/release-notes/rl-2.27.html) . Since submodules need to be fetched, the project can be fetched only as a Git repository. For example it cannot be referred to as `github:mightyiam/infra` (tarball fetching). It must referred to as `git+https://github.com/mightyiam/infra` or similar instead. It seems that an input that is referred to by relative path inside the superproject (e.g. `./inputs/nixpkgs`) and is a Git submodule and is `flake = false` ends up being equivalent to `self`, which would be incorrect. So input-branch inputs must be `flake = true` (which is the default). Also, a `flake.nix` must exist. Just the usual overhead associated with Git submodules, such as `$ git submodule init` and `$ git submodule update`. It seems that when the superproject state is clean, submodules that are referred to by path will be fetched via Git 🤕. Workaround: `$ touch dirt; git add -N dirt` This was reported as [issue 13324](https://github.com/NixOS/nix/issues/13324) . Inputs with huge histories should be handled shallowly. Otherwise, one might (with Nixpkgs will) hit forge push limits such as [GitHub's](https://docs.github.com/en/get-started/using-git/troubleshooting-the-2-gb-push-limit) . But if you insist, this can typically be worked around by chunking. Since our project now depends on multiple branches, we must ensure that in addition to pushing the usual branch, we also push the input branch. Since we now have input code under `./inputs`, we must consider this path in the usage of tools such as linters and formatters. important This workflow causes/surfaces the following issues with NixOS. A NixOS module that mitigates these issues is provided as `#modules.nixos.default`. By default NixOS uses git metadata in some derivations. This may be useful under normal circumstances, but when Nixpkgs is a Git submodule that is referred to by path, then the git metadata is no longer of the Nixpkgs repository, but of the superproject. This unintended consequence also results in more frequent/noisy NixOS derivation change. The provided NixOS module disables the use of Git metadata; It removes the `nixos-version` command and replaces the Nixpkgs revision that is by default included in boot entry labels with `no_git_metadata`. By default the NixOS option `nixpkgs.flake.source` is set to `self.outPath`. This may be useful under normal circumstances, but when Nixpkgs is a Git submodule that is referred to by path, it results in the supreproject being part of the NixOS derivation, which is unacceptable because _any edit_ would result in a NixOS system change. The provided NixOS module sets this option to `null`, which results in the removal of Nixpkgs from the system flake registry. If you want Nixpkgs in the system flake registry you may override this option to a path of your Nixpkgs submodule path (possibly `lib.mkForce ../inputs/nixpkgs` or similar). Importing of foreign branches results in storage of foreign objects, increasing repository size. This can be mitigated by importing shallowly. To use these options, add to your flake inputs: `input-branches.url = "github:mightyiam/input-branches";` and inside the `mkFlake`: `imports = [ inputs.input-branches.flakeModules.default ];` Run `nix flake lock` and you're set. Directory relative to Git top-level for git submodules. _Type:_ string _(read only)_ _Default:_ `"inputs"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Input branch definitions. Each attribute name must correspond to an existing flake input. _Type:_ lazy attribute set of (submodule) _Default:_ `"{ }"` _Example:_ `{ nixpkgs = { upstream = { url = "https://github.com/NixOS/nixpkgs.git"; ref = "nixpkgs-unstable"; }; shallow = true; }; home-manager.upstream = { url = "https://github.com/nix-community/home-manager.git"; ref = "master"; }; }` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Name of input. A flake input by this name must exist. _Type:_ string _(read only)_ _Default:_ `` _Example:_ `"flake-parts"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) path of submodule relative to Git top-level _Type:_ string _(read only)_ _Default:_ `inputs/` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) Useful for an input with huge history, such as Nixpkgs. Fetching occurs with `--depth 1`. The input branch is initialized with a single, artificial, initial commit. The commit message includes the original upstream rev. Prior to rebasing such a commit is recreated. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) remote upstream name _Type:_ string _(read only)_ _Default:_ `"upstream"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) ref of the upstream Git repo _Type:_ string _Example:_ `"master"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) remote URL of the upstream Git repo _Type:_ string _Example:_ `"https://github.com/nix-community/stylix.git"` _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of all of the commands, for convenience _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) A list of `input-branch-init-` commands that attempt to initialize `INPUT`. For example: `$ input-branch-init-nixpkgs` And you end up with a git submodule at the configured path. It inherited the remote of the remote tracking branch of the current branch. It has an upstream remote according to configuration. The configured branch is checked out and its HEAD set to the rev that the corresponding flake input is locked to. The input url can be set to use it: `{ inputs.flake-parts.url = "./inputs/nixpkgs"; }` An additional command `input-branches-init` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of `input-branch-push-force-` commands that push with `--force` the configured branch of `INPUT` An additional command `input-branches-push-force` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) a list of `input-branch-rebase-` commands that attempt to rebase `INPUT` An additional command `input-branches-rebase` invokes all of these in sequence. _Type:_ list of package _(read only)_ _Declared by:_ * \[input-branches/modules/flake-module.nix, via option flake.flakeModules.default\](https://github.com/mightyiam/input-branches/blob/main/modules/flake-module.nix, via option flake.flakeModules.default) --- # treefmt-nix - flake-parts Keyboard shortcuts ------------------ Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help * Auto * Light * Rust * Coal * Navy * Ayu flake-parts =========== [](https://github.com/hercules-ci/flake-parts "Git repository") [](https://github.com/hercules-ci/flake.parts-website/edit/main/site/src/options/treefmt-nix.md "Suggest an edit") When working on large code trees, it's common to have multiple code formatters run against it. And have one script that loops over all of them. `treefmt` makes that nicer. * A unified CLI and output * Run all the formatters in parallel. * Cache which files have changed for super fast re-formatting. * Just type treefmt in any folder and it reformats the whole code tree. This module is defined in [`numtide/treefmt-nix`](https://github.com/numtide/treefmt-nix) . The `treefmt` repo is about the [tool](https://github.com/numtide/treefmt) itself. To use these options, add to your flake inputs: `treefmt-nix.url = "github:numtide/treefmt-nix";` and inside the `mkFlake`: `imports = [ inputs.treefmt-nix.flakeModule ];` Run `nix flake lock` and you're set. Project-level treefmt configuration Use `config.treefmt.build.wrapper` to get access to the resulting treefmt package based on this configuration. By default treefmt-nix will set the `formatter.` attribute of the flake, used by the `nix fmt` command. _Type:_ submodule _Default:_ `{ }` _Declared by:_ * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) Enable the default excludes in the treefmt configuration. _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) The treefmt package to use. _Type:_ package _Default:_ `pkgs.treefmt` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Create a flake check to test that the given project tree is already formatted. Input argument is the path to the project tree (usually ‘self’). _Type:_ function that evaluates to a(n) package _Default:_ Default check implementation _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Contains the generated config file derived from the settings. _Type:_ absolute path _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) The development shell with treefmt and its underlying programs _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Attrset of formatter programs enabled in treefmt configuration. The key of the attrset is the formatter name, with the value being the package used to do the formatting. _Type:_ attribute set of package _Default:_ Programs used in configuration _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) The treefmt package, wrapped with the config file. _Type:_ package _Default:_ wrapped `treefmt` command _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Add a flake check to run `treefmt` _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) Enables `treefmt` the default formatter used by the `nix fmt` command _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) Nixpkgs to use in `treefmt`. _Type:_ lazy attribute set of raw value _Default:_ `pkgs` (module argument of `perSystem`) _Declared by:_ * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) Whether to enable actionlint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) The actionlint package to use. _Type:_ package _Default:_ `pkgs.actionlint` _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) Resulting `actionlint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ ".github/workflows/*.yml" ".github/workflows/*.yaml" ]` _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/actionlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/actionlint.nix) Whether to enable aiken. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) The aiken package to use. _Type:_ package _Default:_ `pkgs.aiken` _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) Resulting `aiken` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.ak" ]` _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/aiken.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/aiken.nix) Whether to enable alejandra. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) The alejandra package to use. _Type:_ package _Default:_ `pkgs.alejandra` _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) Resulting `alejandra` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/alejandra.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/alejandra.nix) Whether to enable asmfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) The asmfmt package to use. _Type:_ package _Default:_ `pkgs.asmfmt` _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) Resulting `asmfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.s" ]` _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/asmfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/asmfmt.nix) Whether to enable autocorrect. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) The autocorrect package to use. _Type:_ package _Default:_ `pkgs.autocorrect` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Resulting `autocorrect` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*" ]` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Enable or disable in a specific context. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Enable or disable to format codeblock in Markdown or AsciiDoc etc. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Configure the files associations, you config is higher priority than default. _Type:_ null or (attribute set of string) _Default:_ `null` _Example:_ `{ "*.js" = "javascript"; ".mdx" = "markdown"; Rakefile = "ruby"; rb = "ruby"; }` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Configure rules for autocorrect formatting. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Convert to fullwidth. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Fullwidth punctuations to halfwidth in english. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Fullwidth alphanumeric characters to halfwidth. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Remove space near the fullwidth. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Add space between \`\`, when near the CJK. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Add space between brackets (), \[\] when near the CJK. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Add space between dash `-`. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"off"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Add space between dollar $ when near the CJK. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"off"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Add space between some punctuations. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"error"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Auto add spacing between CJK (Chinese, Japanese, Korean) and English words. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"off"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Spellcheck. _Type:_ null or one of “off”, “error”, “warning” _Default:_ `null` _Example:_ `"warning"` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Spellcheck configuration. _Type:_ null or (submodule) _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Correct Words (Case insensitive) for by Spellcheck. _Type:_ null or (list of string) _Default:_ `null` _Example:_ `[ "GitHub" "App Store" "AppStore = App Store" "Git" "Node.js" "nodejs = Node.js" "VIM" "DNS" "HTTP" "SSL" ]` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Configure special rules for some texts. _Type:_ null or (attribute set of (null or one of “off”, “error”, “warning”)) _Default:_ `null` _Example:_ `{ "Hello你好" = "warning"; "Hi你好" = "off"; }` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Number of threads, 0 - use number of CPU. \[default: 0\] _Type:_ null or signed integer _Default:_ `null` _Example:_ `2` _Declared by:_ * [treefmt-nix/programs/autocorrect.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/autocorrect.nix) Whether to enable beautysh. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) The beautysh package to use. _Type:_ package _Default:_ `pkgs.beautysh` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Resulting `beautysh` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sh" ]` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Sets the number of spaces to be used in indentation. _Type:_ signed integer _Default:_ `2` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/beautysh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/beautysh.nix) Whether to enable biome. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) The biome package to use. _Type:_ package _Default:_ `pkgs.biome` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Resulting `biome` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) The command to run Biome with. _Type:_ one of “format”, “lint”, “check” _Default:_ `"check"` _Example:_ `"format"` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Allows to format a document that has unsafe fixes. _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.js" "*.ts" "*.mjs" "*.mts" "*.cjs" "*.cts" "*.jsx" "*.tsx" "*.d.ts" "*.d.cts" "*.d.mts" "*.json" "*.jsonc" "*.css" ]` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Raw Biome configuration (must conform to Biome JSON schema) _Type:_ JSON value _Default:_ `{ }` _Example:_ `{ formatter = { indentStyle = "space"; lineWidth = 100; }; javascript = { formatter = { lineWidth = 120; quoteStyle = "single"; }; }; json = { formatter = { enabled = false; }; }; }` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Whether to validate `perSystem.treefmt.programs.biome.settings`. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) The biome schema file to validate against _Type:_ absolute path _Default:_ Fetches `"https://biomejs.dev/schemas/${biomeVersion}/schema.json"` using `pkgs.fetchurl`. _Example:_ `pkgs.fetchurl { url = "https://biomejs.dev/schemas/2.1.2/schema.json" hash = "sha256-n4Y16J7g34e0VdQzRItu/P7n5oppkY4Vm4P1pQxOILU="; }` _Declared by:_ * [treefmt-nix/programs/biome.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/biome.nix) Whether to enable black. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) The black package to use. _Type:_ package _Default:_ `pkgs.black` _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) Resulting `black` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.py" "*.pyi" ]` _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/black.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/black.nix) Whether to enable buf. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) The buf package to use. _Type:_ package _Default:_ `pkgs.buf` _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) Resulting `buf` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.proto" ]` _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/buf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buf.nix) Whether to enable buildifier. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) The buildifier package to use. _Type:_ package _Default:_ `pkgs.buildifier` _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) Resulting `buildifier` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.bazel" "*.bzl" ]` _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/buildifier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/buildifier.nix) Whether to enable cabal-fmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) The cabal-fmt package to use. _Type:_ package _Default:_ `pkgs.haskellPackages.cabal-fmt` _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) Resulting `cabal-fmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cabal" ]` _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/cabal-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-fmt.nix) Whether to enable cabal-gild. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) The cabal-gild package to use. _Type:_ package _Default:_ `pkgs.haskellPackages.cabal-gild` _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) Resulting `cabal-gild` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cabal" "cabal.project" "cabal.project.local" ]` _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/cabal-gild.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cabal-gild.nix) Whether to enable clang-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) The clang-tools package to use. _Type:_ package _Default:_ `pkgs.clang-tools` _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) Resulting `clang-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.c" "*.cc" "*.cpp" "*.h" "*.hh" "*.hpp" "*.glsl" "*.vert" ".tesc" ".tese" ".geom" ".frag" ".comp" ]` _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/clang-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-format.nix) Whether to enable clang-tidy. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) The clang-tools package to use. _Type:_ package _Default:_ `pkgs.clang-tools` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) used to read a compile command database _Type:_ null or absolute path _Default:_ `null` _Example:_ `"/my/cmake/build/directory"` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Specify the path of .clang-tidy or custom config file _Type:_ null or absolute path _Default:_ `null` _Example:_ `"/some/path/myTidyConfigFile"` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Resulting `clang-tidy` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.c" "*.cc" "*.cpp" "*.h" "*.hh" "*.hpp" "*.glsl" "*.vert" ".tesc" ".tese" ".geom" ".frag" ".comp" ]` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Run clang-tidy in quiet mode _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/programs/clang-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/clang-tidy.nix) Whether to enable cljfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) The cljfmt package to use. _Type:_ package _Default:_ `pkgs.cljfmt` _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) Resulting `cljfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.clj" "*.cljc" "*.cljs" "*.cljx" ]` _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/cljfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cljfmt.nix) Whether to enable cmake-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) The cmake-format package to use. _Type:_ package _Default:_ `pkgs.cmake-format` _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) Resulting `cmake-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cmake" "CMakeLists.txt" ]` _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/cmake-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cmake-format.nix) Whether to enable csharpier. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) The csharpier package to use. _Type:_ package _Default:_ `pkgs.csharpier` _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) Resulting `csharpier` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cs" "*.csproj" "*.slnx" "*.xaml" ]` _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/csharpier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/csharpier.nix) Whether to enable cue. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) The cue package to use. _Type:_ package _Default:_ `pkgs.cue` _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) Resulting `cue` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cue" ]` _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/cue.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/cue.nix) Whether to enable d2. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) The d2 package to use. _Type:_ package _Default:_ `pkgs.d2` _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) Resulting `d2` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.d2" ]` _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/d2.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/d2.nix) Whether to enable dart-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) The dart package to use. _Type:_ package _Default:_ `pkgs.dart` _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) Resulting `dart-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.dart" ]` _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dart-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dart-format.nix) Whether to enable deadnix. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) The deadnix package to use. _Type:_ package _Default:_ `pkgs.deadnix` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Resulting `deadnix` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Whether to enable Don’t check lambda parameter arguments. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Whether to enable Don’t check lambda attrset pattern names (don’t break nixpkgs callPackage). _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Whether to enable Don’t check any bindings that start with a \_. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/deadnix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deadnix.nix) Whether to enable deno. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) The deno package to use. _Type:_ package _Default:_ `pkgs.deno` _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) Resulting `deno` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.css" "*.html" "*.js" "*.json" "*.jsonc" "*.jsx" "*.less" "*.markdown" "*.md" "*.sass" "*.scss" "*.ts" "*.tsx" "*.yaml" "*.yml" ]` _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/deno.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/deno.nix) Whether to enable dfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) The dformat package to use. _Type:_ package _Default:_ `pkgs.dformat` _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) Resulting `dfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.d" ]` _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dfmt.nix) Whether to enable dhall. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) The dhall package to use. _Type:_ package _Default:_ `pkgs.dhall` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Resulting `dhall` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.dhall" ]` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Whether to lint in addition to formatting. _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dhall.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dhall.nix) Whether to enable djlint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) The djlint package to use. _Type:_ package _Default:_ `pkgs.djlint` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Resulting `djlint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Which H-rules to ignore _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.html" ]` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Default indentation depth in spaces _Type:_ unsigned integer, meaning >=0 _Default:_ `4` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Whether to lint in addition to formatting. _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/djlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/djlint.nix) Whether to enable dnscontrol. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) The dnscontrol package to use. _Type:_ package _Default:_ `pkgs.dnscontrol` _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) Resulting `dnscontrol` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "dnsconfig.js" ]` _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dnscontrol.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dnscontrol.nix) Whether to enable dockerfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) The dockerfmt package to use. _Type:_ package _Default:_ `pkgs.dockerfmt` _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) Resulting `dockerfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*/Dockerfile" "*.dockerfile" ]` _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dockerfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockerfmt.nix) Whether to enable dockfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) The dockfmt package to use. _Type:_ package _Default:_ `pkgs.dockfmt` _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) Resulting `dockfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "Dockerfile" "*.Dockerfile" "Dockerfile.*" ]` _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dockfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dockfmt.nix) Whether to enable dos2unix. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) The dos2unix package to use. _Type:_ package _Default:_ `pkgs.dos2unix` _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) Resulting `dos2unix` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*" ]` _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dos2unix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dos2unix.nix) Whether to enable dprint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) The dprint package to use. _Type:_ package _Default:_ `pkgs.dprint` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Resulting `dprint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ ".*" ]` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Configuration to generate dprint.json with _Type:_ open submodule of (JSON value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Configurations to extend. _Type:_ null or string or list of string _Default:_ `null` _Example:_ `"https://dprint.dev/path/to/config/file.v1.json"` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Whether to format files only when they change. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) The number of characters for an indent _Type:_ null or signed integer _Default:_ `null` _Example:_ `2` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases. _Type:_ null or signed integer _Default:_ `null` _Example:_ `80` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) The kind of newline to use (one of: auto, crlf, lf, system). _Type:_ null or string _Default:_ `null` _Example:_ `"auto"` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Array of plugin URLs to format files. _Type:_ null or (list of string) _Default:_ `null` _Example:_ `# (recommended) using plugins from nixpkgs # plugins is the list of all available dprint plugins in nixpkgs (pkgs.dprint-plugins.getPluginList ( plugins: with plugins; [ dprint-plugin-toml dprint-plugin-dockerfile g-plane-pretty_yaml # (pkgs.callPackage ./dprint/plugins/sample.nix {}) ] )) # (not recommended) using url plugins # treefmt then only works outside the nix sandbox, so treefmt nix flake check will fail ++ [ "https://plugins.dprint.dev/json-0.17.2.wasm" "https://plugins.dprint.dev/markdown-0.15.2.wasm" "https://plugins.dprint.dev/typescript-0.84.4.wasm" ]` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Whether to use tabs (true) or spaces (false) for indentation. _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dprint.nix) Whether to enable dscanner. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) The dscanner package to use. _Type:_ package _Default:_ `pkgs.dscanner` _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) Resulting `dscanner` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.d" ]` _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/dscanner.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/dscanner.nix) Whether to enable efmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) The efmt package to use. _Type:_ package _Default:_ `pkgs.efmt` _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) Resulting `efmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.erl" "*.hrl" "*.app" "*.app.src" "*.config" "*.script" "*.escript" ]` _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/efmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/efmt.nix) Whether to enable elm-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) The elm-format package to use. _Type:_ package _Default:_ `pkgs.elmPackages.elm-format` _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) Resulting `elm-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.elm" ]` _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/elm-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/elm-format.nix) Whether to enable erlfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) The erlfmt package to use. _Type:_ package _Default:_ `pkgs.erlfmt` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) Resulting `erlfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.erl" "*.hrl" "*.app" "*.app.src" "*.config" "*.script" "*.escript" ]` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) The line length that formatter would wrap on _Type:_ signed integer _Default:_ `100` _Example:_ `80` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/erlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/erlfmt.nix) Whether to enable fantomas. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) The fantomas package to use. _Type:_ package _Default:_ `pkgs.fantomas` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) The dotnet-sdk package to use. _Type:_ package _Default:_ `pkgs.dotnet-sdk` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) Resulting `fantomas` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.fs" "*.fsx" "*.fsi" "*.ml" "*.mli" ]` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/fantomas.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fantomas.nix) Whether to enable fish\_indent. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) The fish package to use. _Type:_ package _Default:_ `pkgs.fish` _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) Resulting `fish_indent` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.fish" ]` _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/fish\_indent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fish_indent.nix) Whether to enable fnlfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) The fnlfmt package to use. _Type:_ package _Default:_ `pkgs.fnlfmt` _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) Resulting `fnlfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.fnl" ]` _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/fnlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fnlfmt.nix) Whether to enable formatjson5. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) The formatjson5 package to use. _Type:_ package _Default:_ `pkgs.formatjson5` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Resulting `formatjson5` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.json5" ]` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Indent by the given number of spaces _Type:_ signed integer _Default:_ `4` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Suppress trailing commas (otherwise added by default) _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Objects or arrays with a single child should collapse to a single line _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Sort arrays of primitive values (string, number, boolean, or null) lexicographically _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/formatjson5.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/formatjson5.nix) Whether to enable fourmolu. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) The fourmolu package to use. _Type:_ package _Default:_ `pkgs.haskellPackages.fourmolu` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Resulting `fourmolu` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Which GHC language extensions to enable _Type:_ unspecified value _Default:_ `[ "BangPatterns" "PatternSynonyms" "TypeApplications" ]` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hs" ]` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/fourmolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fourmolu.nix) Whether to enable fprettify. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) The fprettify package to use. _Type:_ package _Default:_ `pkgs.fprettify` _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) Resulting `fprettify` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.f90" ]` _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/fprettify.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/fprettify.nix) Whether to enable gdformat. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) The gdtoolkit\_4 package to use. _Type:_ package _Default:_ `pkgs.gdtoolkit_4` _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) Resulting `gdformat` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.gd" ]` _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/gdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gdformat.nix) Whether to enable [`genemichaels`](https://github.com/andrewbaxter/genemichaels/blob/master/readme_genemichaels.md) , a Rust code formatter. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) The genemichaels package to use. _Type:_ package _Default:_ `pkgs.genemichaels` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Path / file patterns to exclude for genemichaels. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Path / file patterns to include for genemichaels. _Type:_ list of string _Default:_ `[ "*.rs" ]` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) If reformatting comments results in an error, abort formatting the document. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Maximum relative line length for comments (past the comment indentation level). Can be `null` to disable relative wrapping. If disabled, still wraps at `max_width`. _Type:_ null or (positive integer, meaning >0) _Default:_ `80` _Example:_ `null` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Genemichaels will replace line breaks with it’s own deterministic line breaks. You can use this to keep extra line breaks (1 will keep up to 1 extra line break) during comment extraction. This is unused during formatting. _Type:_ unsigned integer, meaning >=0 _Default:_ `0` _Example:_ `1` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Ideal maximum line width. If there’s an unbreakable element the line won’t be split. _Type:_ positive integer, meaning >0 _Default:_ `120` _Example:_ `80` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) When breaking a child element, also break all parent elements. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Break a `#[]` on a separate line before the element it’s associated with. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Break a `()` or `{}` if it has greater than this number of children. Set to `null` to disable breaking due to high child counts. _Type:_ null or (positive integer, meaning >0) _Default:_ `1` _Example:_ `null` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Put the `where` clause on a new line. _Type:_ boolean _Default:_ `true` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) The configuration file used by `genemichaels`. _Type:_ absolute path _Default:_ Generated JSON file from `perSystem.treefmt.programs.genemichaels.settings` _Example:_ `./.genemichaels.json` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) How many threads to use for formatting multiple files. Set to `null` to default to the number of cores on the system. _Type:_ null or (unsigned integer, meaning >=0) _Default:_ `null` _Example:_ `1` _Declared by:_ * [treefmt-nix/programs/genemichaels.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/genemichaels.nix) Whether to enable gleam. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) The gleam package to use. _Type:_ package _Default:_ `pkgs.gleam` _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) Resulting `gleam` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.gleam" ]` _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/gleam.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gleam.nix) Whether to enable gofmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) The go package to use. _Type:_ package _Default:_ `pkgs.go` _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ "vendor/*" ]` _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) Resulting `gofmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.go" ]` _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/gofmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofmt.nix) Whether to enable gofumpt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) The gofumpt package to use. _Type:_ package _Default:_ `pkgs.gofumpt` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ "vendor/*" ]` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Whether to enable extra rules. _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Resulting `gofumpt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.go" ]` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/gofumpt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/gofumpt.nix) Whether to enable goimports. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) The gotools package to use. _Type:_ package _Default:_ `pkgs.gotools` _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ "vendor/*" ]` _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) Resulting `goimports` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.go" ]` _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/goimports.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/goimports.nix) Whether to enable golangci-lint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Enable specific linters _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "govet" "errcheck" "staticcheck" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Override configuration to run only specific linter(s) _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "govet" "gofmt" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) The golangci-lint package to use. _Type:_ package _Default:_ `pkgs.golangci-lint` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Build tags to use during analysis _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "integration" "e2e" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Number of CPUs to use (auto-configured by default) _Type:_ null or signed integer _Default:_ `null` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Path to golangci-lint configuration file _Type:_ null or string _Default:_ `null` _Example:_ `".golangci.yml"` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Disable specific linters _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "typecheck" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ "vendor/*" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Run only fast linters from enabled linters set _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Resulting `golangci-lint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.go" ]` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Maximum issues per linter (default: 50) _Type:_ null or signed integer _Default:_ `null` _Example:_ `50` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Maximum count of same issues (default: 3) _Type:_ null or signed integer _Default:_ `null` _Example:_ `3` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Show only new issues created after git revision REV _Type:_ null or string _Default:_ `null` _Example:_ `"HEAD~1"` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Don’t read any configuration file _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Analyze test files _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Timeout for total work (e.g., ‘5m’, ‘1h’, ‘10s’) _Type:_ null or string _Default:_ `null` _Example:_ `"5m"` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Enable verbose output _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/golangci-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golangci-lint.nix) Whether to enable golines. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) The golines package to use. _Type:_ package _Default:_ `pkgs.golines` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ "vendor/*" ]` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Resulting `golines` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.go" ]` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Target maximum line length (default: 100) _Type:_ null or signed integer _Default:_ `null` _Example:_ `100` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Length of a tab (default: 4) _Type:_ null or signed integer _Default:_ `null` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/golines.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/golines.nix) Whether to enable google-java-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) The google-java-format package to use. _Type:_ package _Default:_ `pkgs.google-java-format` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Whether to use AOSP (Android Open Source Project) indentation. In a few words, use 4-space indentation rather than the conventional 2-space indentation width that Google uses. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Resulting `google-java-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.java" ]` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/google-java-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/google-java-format.nix) Whether to enable hclfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) The hclfmt package to use. _Type:_ package _Default:_ `pkgs.hclfmt` _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) Resulting `hclfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hcl" ]` _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/hclfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hclfmt.nix) Whether to enable hlint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) The hlint package to use. _Type:_ package _Default:_ `pkgs.hlint` _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) Resulting `hlint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hs" ]` _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/hlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hlint.nix) Whether to enable hujsonfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) The hujsonfmt package to use. _Type:_ package _Default:_ `pkgs.hujsonfmt` _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) Resulting `hujsonfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hujson" ]` _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/hujsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/hujsonfmt.nix) Whether to enable isort. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) The isort package to use. _Type:_ package _Default:_ `pkgs.isort` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) Resulting `isort` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.py" "*.pyi" ]` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) The profile to use for isort. _Type:_ string _Default:_ `""` _Declared by:_ * [treefmt-nix/programs/isort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/isort.nix) Whether to enable jsonfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) The jsonfmt package to use. _Type:_ package _Default:_ `pkgs.jsonfmt` _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) Resulting `jsonfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.json" ]` _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/jsonfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonfmt.nix) Whether to enable jsonnet-lint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) The go-jsonnet package to use. _Type:_ package _Default:_ `pkgs.go-jsonnet` _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) Resulting `jsonnet-lint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.jsonnet" "*.libsonnet" ]` _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/jsonnet-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnet-lint.nix) Whether to enable jsonnetfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) The go-jsonnet package to use. _Type:_ package _Default:_ `pkgs.go-jsonnet` _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) Resulting `jsonnetfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.jsonnet" "*.libsonnet" ]` _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/jsonnetfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/jsonnetfmt.nix) Whether to enable just. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) The just package to use. _Type:_ package _Default:_ `pkgs.just` _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) Resulting `just` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "[Jj][Uu][Ss][Tt][Ff][Ii][Ll][Ee]" "*/[Jj][Uu][Ss][Tt][Ff][Ii][Ll][Ee]" ".[Jj][Uu][Ss][Tt][Ff][Ii][Ll][Ee]" "*/.[Jj][Uu][Ss][Tt][Ff][Ii][Ll][Ee]" "*.[Jj][Uu][Ss][Tt]" "*.[Jj][Uu][Ss][Tt][Ff][Ii][Ll][Ee]" ]` _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/just.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/just.nix) Whether to enable kdlfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) The kdlfmt package to use. _Type:_ package _Default:_ `pkgs.kdlfmt` _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) Resulting `kdlfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.kdl" ]` _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/kdlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/kdlfmt.nix) Whether to enable keep-sorted. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) The keep-sorted package to use. _Type:_ package _Default:_ `pkgs.keep-sorted` _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) Resulting `keep-sorted` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*" ]` _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/keep-sorted.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/keep-sorted.nix) Whether to enable ktfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) The ktfmt package to use. _Type:_ package _Default:_ `pkgs.ktfmt` _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) Resulting `ktfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.kt" "*.kts" ]` _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ktfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktfmt.nix) Whether to enable ktlint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) The ktlint package to use. _Type:_ package _Default:_ `pkgs.ktlint` _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) Resulting `ktlint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.kt" "*.kts" ]` _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ktlint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ktlint.nix) Whether to enable latexindent. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) The texliveMedium package to use. _Type:_ package _Default:_ `pkgs.texliveMedium` _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) Resulting `latexindent` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.tex" "*.sty" "*.cls" "*.bib" "*.cmh" ]` _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/latexindent.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/latexindent.nix) Whether to enable leptosfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) The leptosfmt package to use. _Type:_ package _Default:_ `pkgs.leptosfmt` _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) Resulting `leptosfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rs" ]` _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/leptosfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/leptosfmt.nix) Whether to enable mdformat. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) The mdformat package to use. _Type:_ package _Default:_ `pkgs.mdformat` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Resulting `mdformat` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.md" ]` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Plugins for mdformat that extend its functionality (for Markdown extensions, formatting code blocks, etc). See [mdformat docs](https://mdformat.readthedocs.io/en/stable/users/plugins.html) for a (non-exhaustive) list of plugins. _Type:_ function that evaluates to a(n) list of package _Default:_ `ps: [ ];` _Example:_ `ps: [ ps.mdformat-footnote ps.mdformat-gfm ];` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Output file line ending mode. _Type:_ null or one of “crlf”, “lf”, “keep” _Default:_ `null` _Example:_ `"lf"` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Apply consecutive numbering to ordered lists. _Type:_ boolean _Default:_ `false` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Paragraph word wrap mode. Set to an INTEGER to wrap at that length. _Type:_ null or signed integer or one of “keep”, “no” _Default:_ `null` _Example:_ `"keep"` _Declared by:_ * [treefmt-nix/programs/mdformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdformat.nix) Whether to enable mdsh. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) The mdsh package to use. _Type:_ package _Default:_ `pkgs.mdsh` _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) Resulting `mdsh` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "README.md" ]` _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/mdsh.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mdsh.nix) Whether to enable meson. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) The meson package to use. _Type:_ package _Default:_ `pkgs.meson` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Try to read configuration from .editorconfig _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Resulting `meson` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "meson.build" "meson.options" "meson_options.txt" "*/meson.build" "*/meson.options" "*/meson_options.txt" ]` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/meson.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/meson.nix) Whether to enable mix-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) The elixir package to use. _Type:_ package _Default:_ `pkgs.elixir` _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) Resulting `mix-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.ex" "*.exs" ]` _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/mix-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mix-format.nix) Whether to enable muon. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) The muon package to use. _Type:_ package _Default:_ `pkgs.muon` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Try to read configuration from .editorconfig _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Resulting `muon` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "meson.build" "meson.options" "meson_options.txt" "*/meson.build" "*/meson.options" "*/meson_options.txt" ]` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/muon.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/muon.nix) Whether to enable mypy. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) The mypy package to use. _Type:_ package _Default:_ `pkgs.mypy` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Directories to run mypy in _Type:_ attribute set of (submodule) _Default:_ `{ "" = { }; }` _Example:_ `{ "" = { modules = [ "mymodule" "tests" ]; }; subdir = { }; }` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Directory to run mypy in _Type:_ string _Default:_ `"‹name›"` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Extra packages to add to PYTHONPATH _Type:_ list of package _Default:_ `[ ]` _Example:_ \[ pkgs.python3.pkgs.requests \] _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Extra paths to add to PYTHONPATH. Paths are interpreted relative to the directory options and are added before extraPythonPackages. _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "path/to/my/module" ]` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Modules to check _Type:_ list of string _Default:_ `[ "" ]` _Example:_ `[ "mymodule" "tests" ]` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Options to pass to mypy _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "--ignore-missing-imports" ]` _Declared by:_ * [treefmt-nix/programs/mypy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/mypy.nix) Whether to enable nickel. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) The nickel package to use. _Type:_ package _Default:_ `pkgs.nickel` _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) Resulting `nickel` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.ncl" "*.nickel" ]` _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nickel.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nickel.nix) Whether to enable nimpretty. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) The nim package to use. _Type:_ package _Default:_ `pkgs.nim` _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) Resulting `nimpretty` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nim" ]` _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nimpretty.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nimpretty.nix) Whether to enable nixf-diagnose. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) The nixf-diagnose package to use. _Type:_ package _Default:_ `pkgs.nixf-diagnose` _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) Resulting `nixf-diagnose` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nixf-diagnose.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixf-diagnose.nix) Whether to enable nixfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) The nixfmt-rfc-style package to use. _Type:_ package _Default:_ `pkgs.nixfmt-rfc-style` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Resulting `nixfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Number of spaces to use for indentation \[default: 2\] _Type:_ null or signed integer _Default:_ `null` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Enable a stricter formatting mode that isn’t influenced as much by how the input is formatted. _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Maximum width in characters \[default: 100\] _Type:_ null or signed integer _Default:_ `null` _Example:_ `120` _Declared by:_ * [treefmt-nix/programs/nixfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt.nix) Whether to enable nixfmt-classic. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) The nixfmt-classic package to use. _Type:_ package _Default:_ `pkgs.nixfmt-classic` _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) Resulting `nixfmt-classic` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nixfmt-classic.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-classic.nix) Whether to enable nixfmt-rfc-style. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) The nixfmt-rfc-style package to use. _Type:_ package _Default:_ `pkgs.nixfmt-rfc-style` _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) Resulting `nixfmt-rfc-style` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nixfmt-rfc-style.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixfmt-rfc-style.nix) Whether to enable nixpkgs-fmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) The nixpkgs-fmt package to use. _Type:_ package _Default:_ `pkgs.nixpkgs-fmt` _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) Resulting `nixpkgs-fmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/nixpkgs-fmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/nixpkgs-fmt.nix) Whether to enable ocamlformat. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) The ocamlformat package to use. _Type:_ package _Default:_ `pkgs.ocamlformat` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Path to the .ocamlformat file. Used to pick the right version of ocamlformat if passed. _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Resulting `ocamlformat` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.ml" "*.mli" ]` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) The package set used to get the ocamlformat package at a specific version. _Type:_ lazy attribute set of raw value _Default:_ Nixpkgs from context _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ocamlformat.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ocamlformat.nix) Whether to enable odinfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) The ols package to use. _Type:_ package _Default:_ `pkgs.ols` _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) Resulting `odinfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.odin" ]` _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/odinfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/odinfmt.nix) Whether to enable opa. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) The open-policy-agent package to use. _Type:_ package _Default:_ `pkgs.open-policy-agent` _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) Resulting `opa` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rego" ]` _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/opa.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/opa.nix) Whether to enable ormolu. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) The ormolu package to use. _Type:_ package _Default:_ `pkgs.ormolu` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Resulting `ormolu` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Which GHC language extensions to enable _Type:_ unspecified value _Default:_ `[ "BangPatterns" "PatternSynonyms" "TypeApplications" ]` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hs" ]` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ormolu.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ormolu.nix) Whether to enable oxipng. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) The oxipng package to use. _Type:_ package _Default:_ `pkgs.oxipng` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Whether to enable Perform additional optimization on images with an alpha channel. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Resulting `oxipng` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.png" ]` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Set the optimization level preset _Type:_ string _Default:_ `"2"` _Example:_ `"max"` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Whether to enable Forcibly reduce images with 16 bits per channel to 8 bits per channel. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Strip metadata chunks _Type:_ null or string _Default:_ `null` _Example:_ `"safe"` _Declared by:_ * [treefmt-nix/programs/oxipng.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/oxipng.nix) Whether to enable packer. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) The packer package to use. _Type:_ package _Default:_ `pkgs.packer` _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) Resulting `packer` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.pkr.hcl" "*.pkrvars.hcl" ]` _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/packer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/packer.nix) Whether to enable perltidy. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) The PerlTidy package to use. _Type:_ package _Default:_ `pkgs.perlPackages.PerlTidy` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) Resulting `perltidy` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.pl" ]` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) A path for perltidy’s configuration file, usually named .perltidyrc _Type:_ null or absolute path _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/perltidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/perltidy.nix) Whether to enable php-cs-fixer. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) The php-cs-fixer package to use. _Type:_ package _Default:_ `pkgs.php83Packages.php-cs-fixer` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Path to php-cs-fixer config file. _Type:_ string or absolute path _Default:_ `"./.php-cs-fixer.php"` _Example:_ `"./.php-cs-fixer.dist.php"` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Resulting `php-cs-fixer` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.php" ]` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/php-cs-fixer.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/php-cs-fixer.nix) Whether to enable pinact. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) The pinact package to use. _Type:_ package _Default:_ `pkgs.pinact` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Resulting `pinact` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ ".github/workflows/*.yml" ".github/workflows/*.yaml" "**/action.yml" "**/action.yaml" ]` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Configuration for pinact, see for supported values. _Type:_ open submodule of (YAML 1.1 value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Update actions to latest versions. _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Verify if pairs of commit SHA and version are correct. _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/programs/pinact.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/pinact.nix) Whether to enable prettier. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) The prettier package to use. _Type:_ package _Default:_ `pkgs.nodePackages.prettier` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Resulting `prettier` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.cjs" "*.css" "*.html" "*.js" "*.json" "*.json5" "*.jsx" "*.md" "*.mdx" "*.mjs" "*.scss" "*.ts" "*.tsx" "*.vue" "*.yaml" "*.yml" ]` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Include parentheses around a sole arrow function parameter. _Type:_ null or one of “always”, “avoid” _Default:_ `null` _Example:_ `"always"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Put > of opening tags on the last line instead of on a new line. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Print spaces between brackets _Type:_ null or boolean _Default:_ `null` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Print (to stderr) where a cursor at the given position would move to after formatting. This option cannot be used with --range-start and –range-end. _Type:_ null or signed integer _Default:_ `null` _Example:_ `-1` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Whether parse the .editorconfig file in your project and convert its properties to the corresponding Prettier configuration. This configuration will be overridden by .prettierrc, etc. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Control how Prettier formats quoted code embedded in the file. _Type:_ null or one of “auto”, “off” _Default:_ `null` _Example:_ `"auto"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Which end of line characters to apply. _Type:_ null or one of “lf”, “crlf”, “cr”, “auto” _Default:_ `null` _Example:_ `"lf"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Specify the input filepath. This will be used to do parser inference. _Type:_ null or string _Default:_ `null` _Example:_ `"example.js"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) How to handle whitespaces in HTML. _Type:_ null or one of “css”, “strict”, “ignore” _Default:_ `null` _Example:_ `"css"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Insert @format pragma into file’s first docblock commentypes. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Use single quotes in JSX _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Provide a list of patterns to override prettier configuration. _Type:_ null or (list of (attribute set)) _Default:_ `null` _Example:_ `{ files = [ "*.html" "legacy/**/*.js" ]; options = { tabwidth = 4; }; }` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Which parser to use. _Type:_ null or one of “flow”, “babel”, “babel-flow”, “babel-ts”, “typescript”, “acorn”, “espree”, “meriyah”, “css”, “less”, “scss”, “json”, “json5”, “json-stringify”, “graphql”, “markdown”, “mdx”, “vue”, “yaml”, “glimmer”, “html”, “angular”, “lwc” or string _Default:_ `null` _Example:_ `"typescript"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Custom directory that contains prettier plugins in node\_modules subdirectory. Overrides default behavior when plugins are searched relatively to the location of Prettier.\\nMultiple values are accepted. _Type:_ null or (list of string) or value false (singular enum) _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Add a plugin. Multiple plugins can be passed as separate `--plugin`s. _Type:_ null or (list of string) _Default:_ `null` _Example:_ `[ "@prettier/plugin-xml" ]` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) The line length where Prettier will try wrap. _Type:_ null or signed integer _Default:_ `null` _Example:_ `80` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) How to wrap prose. _Type:_ null or one of “always”, “never”, “preserve” _Default:_ `null` _Example:_ `"preserve"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Change when properties in objects are quoted _Type:_ null or one of “as-needed”, “consistent”, “preserve” _Default:_ `null` _Example:_ `"as-needed"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Format code ending at a given character offset (exclusive). The range will extend forwards to the end of the selected statementypes. This option cannot be used with --cursor-offsetypes. _Type:_ null or string _Default:_ `null` _Example:_ `0` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Format code starting at a given character offsetypes. The range will extend backwards to the start of the first line containing the selected statementypes. his option cannot be used with --cursor-offsetypes. _Type:_ null or signed integer _Default:_ `null` _Example:_ `0` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Require either ‘@prettier’ or ‘@format’ to be present in the file’s first docblock comment\\nin order for it to be formatted. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Print semicolons. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Enforce single attribute per line in HTML, Vue and JSX. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Use single quotes instead of double quotes. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Number of spaces per indentation level. _Type:_ null or signed integer _Default:_ `null` _Example:_ `2` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Print trailing commas wherever possible when multi-line. _Type:_ null or one of “es5”, “none”, “all” _Default:_ `null` _Example:_ `"es5"` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Indent with tabs instead of spaces _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Indent script and style tags in Vue files. _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/prettier.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/prettier.nix) Whether to enable protolint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) The protolint package to use. _Type:_ package _Default:_ `pkgs.protolint` _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) Resulting `protolint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.proto" ]` _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/protolint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/protolint.nix) Whether to enable purs-tidy. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) The purs-tidy package to use. _Type:_ package _Default:_ `pkgs.nodePackages.purs-tidy` _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) Resulting `purs-tidy` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "src/**/*.purs" "test/**/*.purs" ]` _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/purs-tidy.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/purs-tidy.nix) Whether to enable rstfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) The rstfmt package to use. _Type:_ package _Default:_ `pkgs.rstfmt` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Resulting `rstfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rst" "*.txt" ]` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Sets the line length. _Type:_ signed integer _Default:_ `72` _Example:_ `80` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/rstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rstfmt.nix) Whether to enable rubocop. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) The rubocop package to use. _Type:_ package _Default:_ `pkgs.rubocop` _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) Resulting `rubocop` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rb" ]` _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/rubocop.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rubocop.nix) Whether to enable ruff-check. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) The ruff package to use. _Type:_ package _Default:_ `pkgs.ruff` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) –extend-select options _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "I" ]` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) Resulting `ruff-check` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.py" "*.pyi" ]` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ruff-check.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-check.nix) Whether to enable ruff-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) The ruff package to use. _Type:_ package _Default:_ `pkgs.ruff` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Resulting `ruff-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.py" "*.pyi" ]` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Set the line-length. _Type:_ null or signed integer _Default:_ `null` _Example:_ `79` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/ruff-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/ruff-format.nix) Whether to enable rufo. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) The rufo package to use. _Type:_ package _Default:_ `pkgs.rufo` _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) Resulting `rufo` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rb" ]` _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/rufo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rufo.nix) Whether to enable rustfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) The rustfmt package to use. _Type:_ package _Default:_ `pkgs.rustfmt` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Rust edition to target when formatting _Type:_ string _Default:_ `"2024"` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Resulting `rustfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.rs" ]` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/rustfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/rustfmt.nix) Whether to enable scalafmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) The scalafmt package to use. _Type:_ package _Default:_ `pkgs.scalafmt` _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) Resulting `scalafmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sbt" "*.scala" ]` _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/scalafmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/scalafmt.nix) Whether to enable shellcheck. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) The shellcheck package to use. _Type:_ package _Default:_ `pkgs.shellcheck` _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) Resulting `shellcheck` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sh" "*.bash" "*.envrc" "*.envrc.*" ]` _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/shellcheck.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shellcheck.nix) Whether to enable shfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) The shfmt package to use. _Type:_ package _Default:_ `pkgs.shfmt` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Resulting `shfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sh" "*.bash" "*.envrc" "*.envrc.*" ]` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Sets the number of spaces to be used in indentation. Uses tabs if set to zero. If this is null, then [.editorconfig will be used to configure shfmt](https://github.com/patrickvane/shfmt#description) . _Type:_ null or signed integer _Default:_ `2` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Enables the `-s` (`--simplify`) flag, which simplifies code where possible. _Type:_ boolean _Default:_ `true` _Declared by:_ * [treefmt-nix/programs/shfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/shfmt.nix) Whether to enable sizelint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) The sizelint package to use. _Type:_ package _Default:_ `pkgs.sizelint` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Whether to enable fail-on-warn. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Resulting `sizelint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*" ]` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Configuration to generate sizelint.toml with _Type:_ open submodule of (TOML value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/programs/sizelint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sizelint.nix) Whether to enable sql-formatter. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) The sql-formatter package to use. _Type:_ package _Default:_ `pkgs.sql-formatter` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) The sql dialect to use for formatting _Type:_ null or one of “bigquery”, “db2”, “db2i”, “hive”, “mariadb”, “mysql”, “n1ql”, “plsql”, “postgresql”, “redshift”, “spark”, “sqlite”, “sql”, “tidb”, “trino”, “transactsql”, “tsql”, “singlestoredb”, “snowflake” _Default:_ `null` _Example:_ `"postgresql"` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) Resulting `sql-formatter` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sql" ]` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/sql-formatter.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sql-formatter.nix) Whether to enable sqlfluff. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) The sqlfluff package to use. _Type:_ package _Default:_ `pkgs.sqlfluff` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) The sql dialect to use for formatting _Type:_ null or one of “db2”, “ansi”, “soql”, “tsql”, “hive”, “trino”, “mysql”, “oracle”, “sqlite”, “duckdb”, “exasol”, “athena”, “mariadb”, “vertica”, “teradata”, “redshift”, “sparksql”, “bigquery”, “postgres”, “greenplum”, “snowflake”, “materializ”, “clickhouse”, “databricks” _Default:_ `null` _Example:_ `"sqlite"` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) Resulting `sqlfluff` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sql" ]` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/sqlfluff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff.nix) Whether to enable sqlfluff-lint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) The sqlfluff package to use. _Type:_ package _Default:_ `pkgs.sqlfluff` _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) Resulting `sqlfluff-lint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sql" ]` _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/sqlfluff-lint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqlfluff-lint.nix) Whether to enable sqruff. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) The sqruff package to use. _Type:_ package _Default:_ `pkgs.sqruff` _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) Resulting `sqruff` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.sql" ]` _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/sqruff.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/sqruff.nix) Whether to enable statix. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) The statix package to use. _Type:_ package _Default:_ `pkgs.statix` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) List of ignored lints. Run `statix list` to see all available lints. _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "empty_pattern" ]` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) Resulting `statix` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.nix" ]` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/statix.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/statix.nix) Whether to enable stylish-haskell. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) The stylish-haskell package to use. _Type:_ package _Default:_ `pkgs.stylish-haskell` _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) Resulting `stylish-haskell` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.hs" ]` _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/stylish-haskell.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylish-haskell.nix) Whether to enable stylua. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) The stylua package to use. _Type:_ package _Default:_ `pkgs.stylua` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Resulting `stylua` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.lua" ]` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Whether parentheses should be applied on function calls with a single string/table argument. `Always` applies parentheses in all cases. `NoSingleString` omits parentheses on calls with a single string argument. Similarly, `NoSingleTable` omits parentheses on calls with a single table argument. `None` omits parentheses in both cases. Note: parentheses are still kept in situations where removal can lead to obscurity (e.g. `foo "bar".setup -> foo("bar").setup`, since the index is on the call result, not the string). `Input` removes all automation and preserves parentheses only if they were present in input code: consistency is not enforced. _Type:_ null or one of “Always”, “NoSingleString”, “NoSingleTable”, “None”, “Input” _Default:_ `null` _Example:_ `"Always"` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Specify whether to collapse simple statements. _Type:_ null or one of “Never”, “FunctionOnly”, “ConditionalOnly”, “Always” _Default:_ `null` _Example:_ `"Never"` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Approximate line length for printing. Used as a guide for line wrapping - this is not a hard requirement: lines may fall under or over the limit. _Type:_ null or signed integer _Default:_ `null` _Example:_ `120` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Indent type. _Type:_ null or one of “Tabs”, “Spaces” _Default:_ `null` _Example:_ `"Tabs"` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Character size of single indentation. If `indent_type` is set to `Tabs`, this option is used as a heuristic to determine column width only. _Type:_ null or signed integer _Default:_ `null` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Line endings type. _Type:_ null or one of “Unix”, “Windows” _Default:_ `null` _Example:_ `"Unix"` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Quote style for string literals. `AutoPrefer` styles will prefer the specified quote style, but fall back to the alternative if it has fewer string escapes. `Force` styles always use the specified style regardless of escapes. _Type:_ null or one of “AutoPreferDouble”, “AutoPreferSingle”, “ForceDouble”, “ForceSingle” _Default:_ `null` _Example:_ `"AutoPreferDouble"` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) StyLua has built-in support for sorting require statements. We group consecutive require statements into a single “block”, and then requires are sorted only within that block. Blocks of requires do not move around the file. We only include requires of the form `local NAME = require(EXPR)`, and sort lexicographically based on `NAME`. (We also sort Roblox services of the form `local NAME = game:GetService(EXPR)`) _Type:_ null or boolean _Default:_ `null` _Example:_ `false` _Declared by:_ * [treefmt-nix/programs/stylua.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/stylua.nix) Whether to enable swift-format. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) The swift-format package to use. _Type:_ package _Default:_ `pkgs.swift-format` _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) Resulting `swift-format` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.swift" ]` _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/swift-format.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/swift-format.nix) Whether to enable taplo. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) The taplo package to use. _Type:_ package _Default:_ `pkgs.taplo` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Resulting `taplo` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.toml" ]` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Configuration to generate taplo.toml with _Type:_ open submodule of (TOML value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/programs/taplo.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/taplo.nix) Whether to enable templ. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) The templ package to use. _Type:_ package _Default:_ `pkgs.templ` _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) Resulting `templ` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.templ" ]` _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/templ.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/templ.nix) Whether to enable terraform. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) The opentofu package to use. _Type:_ package _Default:_ `pkgs.opentofu` _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) Resulting `terraform` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.tf" "*.tfvars" "*.tftest.hcl" ]` _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/terraform.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/terraform.nix) Whether to enable texfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) The tex-fmt package to use. _Type:_ package _Default:_ `pkgs.tex-fmt` _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) Resulting `texfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.tex" "*.sty" "*.cls" "*.bib" "*.cmh" ]` _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/texfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/texfmt.nix) Whether to enable toml-sort. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) The toml-sort package to use. _Type:_ package _Default:_ `pkgs.toml-sort` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Whether to enable sort ALL keys. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Resulting `toml-sort` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.toml" ]` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/toml-sort.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/toml-sort.nix) Whether to enable typos. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) The typos package to use. _Type:_ package _Default:_ `pkgs.typos` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Search binary files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Custom config file _Type:_ null or string _Default:_ `null` _Example:_ `"typos.toml"` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Resulting `typos` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Search hidden files and directories _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*" ]` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Ignore implicit configuration files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Language locale to suggest corrections for \[possible values: en, en-us, en-gb, en-ca, en-au\] _Type:_ null or one of “en”, “en-us”, “en-gb”, “en-ca”, “en-au” _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Skip verifying spelling in file names _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Skip verifying spelling in files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Don’t respect ignore files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Don’t respect .ignore files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Don’t respect global ignore files _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Don’t respect ignore files in parent directories _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Don’t respect ignore files in vsc directories _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Only allow ASCII characters in identifiers _Type:_ boolean _Default:_ `false` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Sort results _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) The approximate number of threads to use \[default: 0\] _Type:_ null or signed integer _Default:_ `null` _Example:_ `2` _Declared by:_ * [treefmt-nix/programs/typos.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typos.nix) Whether to enable typstfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) The typstfmt package to use. _Type:_ package _Default:_ `pkgs.typstfmt` _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) Resulting `typstfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.typ" "*.typst" ]` _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/typstfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstfmt.nix) Whether to enable typstyle. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) The typstyle package to use. _Type:_ package _Default:_ `pkgs.typstyle` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Resulting `typstyle` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.typ" "*.typst" ]` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Number of spaces per indent level (default: 2). _Type:_ null or signed integer _Default:_ `null` _Example:_ `4` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Maximum line width in characters (default: 80). _Type:_ null or signed integer _Default:_ `null` _Example:_ `100` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Whether to enable line wrapping of markup text. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/typstyle.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/typstyle.nix) Whether to enable xmllint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) The libxml2 package to use. _Type:_ package _Default:_ `pkgs.libxml2` _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) Resulting `xmllint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.xml" "*.svg" "*.xhtml" "*.xsl" "*.xslt" "*.dtd" "*.xsd" ]` _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/xmllint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/xmllint.nix) Whether to enable yamlfmt. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) The yamlfmt package to use. _Type:_ package _Default:_ `pkgs.yamlfmt` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Resulting `yamlfmt` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.yaml" "*.yml" ]` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Configuration for yamlfmt, see for supported values. _Type:_ open submodule of (YAML 1.1 value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/programs/yamlfmt.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yamlfmt.nix) Whether to enable yapf. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) The yapf package to use. _Type:_ package _Default:_ `pkgs.yapf` _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) Resulting `yapf` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.py" "*.pyi" ]` _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/yapf.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/yapf.nix) Whether to enable zig. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) The zig package to use. _Type:_ package _Default:_ `pkgs.zig` _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) Resulting `zig` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.zig" "*.zon" ]` _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/zig.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zig.nix) Whether to enable zizmor. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) The zizmor package to use. _Type:_ package _Default:_ `pkgs.zizmor` _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) Resulting `zizmor` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ ".github/workflows/*.yml" ".github/workflows/*.yaml" ".github/actions/**/*.yml" ".github/actions/**/*.yaml" ]` _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/zizmor.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zizmor.nix) Whether to enable zprint. _Type:_ boolean _Default:_ `false` _Example:_ `true` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) The zprint package to use. _Type:_ package _Default:_ `pkgs.zprint` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Path / file patterns to exclude _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Resulting `zprint` package bundled with plugins, if any. _Type:_ package _(read only)_ _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Path / file patterns to include _Type:_ list of string _Default:_ `[ "*.clj" "*.cljc" "*.cljs" "*.edn" ]` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Priority _Type:_ null or signed integer _Default:_ `null` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Clojure map containing zprint options. _Type:_ null or string _Default:_ `null` _Example:_ `"{:width 90}"` _Declared by:_ * [treefmt-nix/programs/zprint.nix](https://github.com/numtide/treefmt-nix/blob/master/programs/zprint.nix) Path to the root of the project on which treefmt operates _Type:_ absolute path _Default:_ `self` _Declared by:_ * [treefmt-nix/flake-module.nix](https://github.com/numtide/treefmt-nix/blob/master/flake-module.nix) File to look for to determine the root of the project in the build.wrapper. _Type:_ string _Default:_ `".git/config"` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) The contents of treefmt.toml _Type:_ open submodule of (TOML value) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Set of formatters to use _Type:_ attribute set of (open submodule of (TOML value)) _Default:_ `{ }` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Executable obeying the treefmt formatter spec _Type:_ Path to executable _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) List of files to exclude for formatting. Supports globbing. Takes precedence over the includes. _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) List of files to include for formatting. Supports globbing. _Type:_ list of string _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) List of arguments to pass to the command _Type:_ list of string _Default:_ `[ ]` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) A global list of paths to exclude. Supports glob. _Type:_ list of string _Default:_ `[ ]` _Example:_ `[ "node_modules/*" ]` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) Log paths that did not match any formatters at the specified log level. _Type:_ one of “debug”, “info”, “warn”, “error”, “fatal” _Default:_ `"warn"` _Declared by:_ * [treefmt-nix/module-options.nix](https://github.com/numtide/treefmt-nix/blob/master/module-options.nix) ---