{"all_yanked":false,"avatar_url":"https://avatars.githubusercontent.com/u/80991770","created_at":"2024-07-22T20:09:32.790461Z","description":"Determinate","download_url":"https://api.flakehub.com/f/DeterminateSystems/determinate/3.17.2.tar.gz","labels":[],"mirrored":false,"org":"DeterminateSystems","outputs":{"darwinModules":{"doc":"The `darwinModules` flake output defines importable [nix-darwin modules](https://github.com/nix-darwin/nix-darwin).\n","name":"darwinModules","outputs":[{"outputs":[{"doc":null,"for_systems":[null],"path":["darwinModules","default"],"short_description":null,"store_paths":{},"what":"nix-darwin module"},{"doc":null,"for_systems":[null],"path":["darwinModules","migration"],"short_description":null,"store_paths":{},"what":"nix-darwin module"}],"platform":null}]},"devShells":{"doc":"The `devShells` flake output contains derivations that provide a development environment for `nix develop`.\n","name":"devShells","outputs":[{"outputs":[{"doc":null,"for_systems":["aarch64-darwin"],"path":["devShells","aarch64-darwin","default"],"short_description":"","store_paths":{},"what":"development environment"}],"platform":"aarch64-darwin"},{"outputs":[{"doc":null,"for_systems":["aarch64-linux"],"path":["devShells","aarch64-linux","default"],"short_description":"","store_paths":{},"what":"development environment"}],"platform":"aarch64-linux"},{"outputs":[{"doc":null,"for_systems":["x86_64-linux"],"path":["devShells","x86_64-linux","default"],"short_description":"","store_paths":{},"what":"development environment"}],"platform":"x86_64-linux"}]},"formatter":{"doc":"The `formatter` output specifies the package to use to format the project.\n","name":"formatter","outputs":[{"outputs":[{"doc":null,"for_systems":["aarch64-darwin"],"path":["formatter","aarch64-darwin"],"short_description":"Official formatter for Nix code","store_paths":{},"what":"formatter"}],"platform":"aarch64-darwin"},{"outputs":[{"doc":null,"for_systems":["aarch64-linux"],"path":["formatter","aarch64-linux"],"short_description":"Official formatter for Nix code","store_paths":{},"what":"formatter"}],"platform":"aarch64-linux"},{"outputs":[{"doc":null,"for_systems":["x86_64-linux"],"path":["formatter","x86_64-linux"],"short_description":"Official formatter for Nix code","store_paths":{},"what":"formatter"}],"platform":"x86_64-linux"}]},"nixosModules":{"doc":"The `nixosModules` flake output defines importable [NixOS modules](https://nixos.org/manual/nixos/stable/#sec-writing-modules).\n","name":"nixosModules","outputs":[{"outputs":[{"doc":null,"for_systems":[null],"path":["nixosModules","default"],"short_description":null,"store_paths":{},"what":"NixOS module"}],"platform":null}]},"packages":{"doc":"The `packages` flake output contains packages that can be added to a shell using `nix shell`.\n","name":"packages","outputs":[{"outputs":[{"doc":null,"for_systems":["aarch64-darwin"],"path":["packages","aarch64-darwin","default"],"short_description":"","store_paths":{},"what":"package"}],"platform":"aarch64-darwin"},{"outputs":[{"doc":null,"for_systems":["aarch64-linux"],"path":["packages","aarch64-linux","default"],"short_description":"","store_paths":{},"what":"package"}],"platform":"aarch64-linux"},{"outputs":[{"doc":null,"for_systems":["x86_64-linux"],"path":["packages","x86_64-linux","default"],"short_description":"","store_paths":{},"what":"package"}],"platform":"x86_64-linux"}]}},"pretty_download_url":"https://flakehub.com/f/DeterminateSystems/determinate/3.17.2.tar.gz","project":"determinate","readme":"<h1 id=\"readme-determinate\"><a href=\"#readme-determinate\" rel=\"nofollow noopener noreferrer\">Determinate</a></h1>\n<p><strong>Determinate</strong> is <a href=\"https://zero-to-nix.com/concepts/nix\" rel=\"nofollow noopener noreferrer\">Nix</a> for the enterprise.\nIt provides an end-to-end experience around using Nix, from installation to collaboration to deployment.\nDeterminate has two core components:</p>\n<ul>\n<li><a href=\"https://determinate.systems/nix\" rel=\"nofollow noopener noreferrer\">Determinate Nix</a> is <a href=\"https://determinate.systems\" rel=\"nofollow noopener noreferrer\">Determinate Systems</a>' validated and secure downstream <a href=\"https://zero-to-nix.com/concepts/nix\" rel=\"nofollow noopener noreferrer\">Nix</a> distribution.\nIt comes bundled with <a href=\"https://docs.determinate.systems/determinate-nix#determinate-nixd\" rel=\"nofollow noopener noreferrer\">Determinate Nixd</a>, a helpful daemon that automates some otherwise-unpleasant aspects of using Nix, such as garbage collection and providing Nix with <a href=\"https://developer.apple.com/documentation/security/keychain-services\" rel=\"nofollow noopener noreferrer\">Keychain</a>-provided certificates on macOS.</li>\n<li><a href=\"https://flakehub.com\" rel=\"nofollow noopener noreferrer\">FlakeHub</a> is a platform for publishing and discovering Nix flakes, providing <a href=\"https://docs.determinate.systems/flakehub/concepts/semver\" rel=\"nofollow noopener noreferrer\">semantic versioning</a> (SemVer) for flakes and automated flake publishing from <a href=\"https://github.com/features/actions\" rel=\"nofollow noopener noreferrer\">GitHub Actions</a> and <a href=\"https://docs.gitlab.com/ee/ci\" rel=\"nofollow noopener noreferrer\">GitLab CI</a>.</li>\n</ul>\n<p>You can get started with Determinate in one of two ways:</p>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Situation</th>\n<th align=\"left\">How to install</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"left\"><strong>Linux</strong> but not using <a href=\"https://zero-to-nix.com/concepts/nixos\" rel=\"nofollow noopener noreferrer\">NixOS</a></td>\n<td align=\"left\"><a href=\"#installing-using-the-determinate-nix-installer\" rel=\"nofollow noopener noreferrer\">Determinate Nix Installer</a></td>\n</tr>\n<tr>\n<td align=\"left\"><strong>macOS</strong></td>\n<td align=\"left\"><a href=\"#installing-using-the-determinate-nix-installer\" rel=\"nofollow noopener noreferrer\">Determinate Nix Installer</a></td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Linux</strong> and using <a href=\"https://zero-to-nix.com/concepts/nixos\" rel=\"nofollow noopener noreferrer\">NixOS</a></td>\n<td align=\"left\">The <a href=\"#installing-using-our-nix-flake\" rel=\"nofollow noopener noreferrer\">NixOS module</a> provided by this flake</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"readme-installing-using-the-determinate-nix-installer\"><a href=\"#readme-installing-using-the-determinate-nix-installer\" rel=\"nofollow noopener noreferrer\">Installing using the Determinate Nix Installer</a></h2>\n<p><strong>macOS</strong> users, including <a href=\"https://github.com/nix-darwin/nix-darwin\" rel=\"nofollow noopener noreferrer\">nix-darwin</a> users, should install Determinate using <a href=\"https://install.determinate.systems/determinate-pkg/stable/Universal\" rel=\"nofollow noopener noreferrer\">Determinate.pkg</a>, our graphical installer.</p>\n<p><strong>Linux</strong> users who are <em>not</em> on <a href=\"https://zero-to-nix.com/concepts/nixos\" rel=\"nofollow noopener noreferrer\">NixOS</a> should use the <a href=\"https://github.com/DeterminateSystems/nix-installer\" rel=\"nofollow noopener noreferrer\">Determinate Nix Installer</a> with the <code>--determinate</code> flag:</p>\n<pre><code><span class=\"meta\"><span class=\"meta\"><span class=\"variable function\">curl</span></span><span class=\"source\"> <span class=\"meta parameter\"><span class=\"variable parameter\"><span class=\"punctuation definition parameter\">--</span></span></span><span class=\"meta parameter\"><span class=\"variable parameter\">proto</span></span> <span class=\"meta string\"><span class=\"string\"><span class=\"punctuation definition string\">'</span>=https<span class=\"punctuation definition string\">'</span></span></span> <span class=\"meta parameter\"><span class=\"variable parameter\"><span class=\"punctuation definition parameter\">--</span></span></span><span class=\"meta parameter\"><span class=\"variable parameter\">tlsv1.2</span></span> <span class=\"meta parameter\"><span class=\"variable parameter\"><span class=\"punctuation definition parameter\">-</span></span></span><span class=\"meta parameter\"><span class=\"variable parameter\">sSf</span></span> <span class=\"meta parameter\"><span class=\"variable parameter\"><span class=\"punctuation definition parameter\">-</span></span></span><span class=\"meta parameter\"><span class=\"variable parameter\">L</span></span> https://install.determinate.systems/nix</span> <span class=\"keyword operator\">|</span> <span class=\"punctuation separator\">\\</span>\n  </span><span class=\"meta\"><span class=\"meta\"><span class=\"variable function\">sh</span></span><span class=\"meta\"> <span class=\"meta parameter\"><span class=\"variable parameter\"><span class=\"punctuation definition parameter\">-</span></span></span><span class=\"meta parameter\"><span class=\"variable parameter\">s</span></span> <span class=\"keyword operator\">--</span> install --determinate</span>\n</span></code></pre>\n<p>Linux users who <em>are</em> on NixOS should follow the instructions <a href=\"#installing-using-our-nix-flake\" rel=\"nofollow noopener noreferrer\">below</a>.</p>\n<h2 id=\"readme-installing-using-our-nix-flake\"><a href=\"#readme-installing-using-our-nix-flake\" rel=\"nofollow noopener noreferrer\">Installing using our Nix flake</a></h2>\n<p>If you use <a href=\"https://zero-to-nix.com/concepts/nixos\" rel=\"nofollow noopener noreferrer\">NixOS</a> you can install Determinate using this <a href=\"https://zero-to-nix.com/concepts/flakes\" rel=\"nofollow noopener noreferrer\">Nix flake</a>.\nTo add the <code>determinate</code> flake as a <a href=\"https://zero-to-nix.com/concepts/flakes#inputs\" rel=\"nofollow noopener noreferrer\">flake input</a>:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">inputs</span>.<span class=\"entity other attribute-name\">determinate</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/DeterminateSystems/determinate/3<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n<blockquote>\n<p>We recommend not using a <a href=\"https://zero-to-nix.com/concepts/flakes#inputs\" rel=\"nofollow noopener noreferrer\"><code>follows</code></a> directive for <a href=\"https://zero-to-nix.com/concepts/nixpkgs\" rel=\"nofollow noopener noreferrer\">Nixpkgs</a> (<code>inputs.nixpkgs.follows = \"nixpkgs\"</code>) in conjunction with the Determinate flake, as it leads to cache misses for artifacts otherwise available from <a href=\"https://determinate.systems/posts/flakehub-cache-beta\" rel=\"nofollow noopener noreferrer\">FlakeHub Cache</a>.</p>\n</blockquote>\n<p>You can quickly set up Determinate using the <code>nixosModules.default</code> module output from this flake.\nHere's an example NixOS configuration for the current stable NixOS:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">inputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/NixOS/nixpkgs/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">determinate</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/DeterminateSystems/determinate/3<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n\n  <span class=\"entity other attribute-name\">outputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">self</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span>@<span class=\"variable parameter function\">inputs {\n    nixosConfigurations.my-workstation = inputs.nixpkgs.lib.nixosSystem {\n      system = \"x86_64-linux\";\n      modules = [\n        # Load the Determinate module\n        inputs.determinate.nixosModules.default\n      ];\n    };\n  };\n}\n</span></span></code></pre>\n<h2 id=\"readme-nix-darwin\"><a href=\"#readme-nix-darwin\" rel=\"nofollow noopener noreferrer\">nix-darwin</a></h2>\n<blockquote>\n<p>[!IMPORTANT]\nDeterminate's nix-darwin module does <em>not</em> install <a href=\"https://determinate.systems/nix\" rel=\"nofollow noopener noreferrer\">Determinate Nix</a> for you; consult our <a href=\"https://docs.determinate.systems\" rel=\"nofollow noopener noreferrer\">installation instructions</a> for that.\nInstead, this module ensures that nix-darwin and Determinate Nix are compatible and provides some useful helpers for configuring Determinate Nix, including <a href=\"https://docs.determinate.systems/determinate-nix#determinate-nixd\" rel=\"nofollow noopener noreferrer\">Determinate Nixd</a>.</p>\n</blockquote>\n<p>If you use <a href=\"https://github.com/nix-darwin/nix-darwin\" rel=\"nofollow noopener noreferrer\">nix-darwin</a> to provide Nix-based configuration for your macOS system, you need to disable nix-darwin's built-in Nix configuration mechanisms by applying the <code>determinate</code> nix-darwin module and setting <code>determinateNix.enable = true</code>; if not, Determinate Nix <strong>does not work properly</strong>.\nHere's an example nix-darwin configuration that would be compatible with Determinate Nix:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">inputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/NixOS/nixpkgs/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">nix-darwin</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/nix-darwin/nix-darwin/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n      <span class=\"entity other attribute-name\">inputs</span>.<span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">follows</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>nixpkgs<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n\n  <span class=\"entity other attribute-name\">outputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">self</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span>@<span class=\"variable parameter function\">inputs</span><span class=\"punctuation definition function\">:</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">darwinConfigurations</span>.<span class=\"string\"><span class=\"punctuation definition string\">\"</span>my-username-aarch64-darwin<span class=\"punctuation definition string\">\"</span></span> <span class=\"keyword operator\">=</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">nix-darwin</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">lib</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">darwinSystem</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">system</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>aarch64-darwin<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n\n      <span class=\"entity other attribute-name\">modules</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition list\">[</span>\n        <span class=\"comment\"># Add the determinate nix-darwin module</span>\n        <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">determinate</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">darwinModules</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">default</span>\n\n        <span class=\"comment\"># Configure the determinate module</span>\n        <span class=\"punctuation definition\">(</span><span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">config</span><span class=\"keyword operator\">,</span> <span class=\"variable parameter function\">lib</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span><span class=\"punctuation definition function\">:</span> <span class=\"punctuation definition\">{</span>\n          <span class=\"comment\"># Let Determinate Nix handle Nix configuration rather than nix-darwin</span>\n          <span class=\"entity other attribute-name\">determinateNix</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n            <span class=\"entity other attribute-name\">enable</span> <span class=\"keyword operator\">=</span> <span class=\"constant\">true</span><span class=\"punctuation\">;</span>\n\n            <span class=\"comment\"># Other settings</span>\n          <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n        <span class=\"punctuation definition\">}</span><span class=\"punctuation definition\">)</span>\n      <span class=\"punctuation definition list\">]</span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n<p>While Determinate Nix creates and manages the standard <code>nix.conf</code> file for you, you can set custom configuration in the <code>/etc/nix/nix.custom.conf</code> file, which is explained in more detail <a href=\"https://docs.determinate.systems/determinate-nix#determinate-nix-configuration\" rel=\"nofollow noopener noreferrer\">in our documentation</a>.\nIf you'd like to set that custom configuration using nix-darwin, you can use the <code>customSettings</code> attribute for that.\nHere's an example:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">inputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/NixOS/nixpkgs/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">determinate</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/DeterminateSystems/determinate/3<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">nix-darwin</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/nix-darwin/nix-darwin/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n      <span class=\"entity other attribute-name\">inputs</span>.<span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">follows</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>nixpkgs<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n\n  <span class=\"entity other attribute-name\">outputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">self</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span>@<span class=\"variable parameter function\">inputs</span><span class=\"punctuation definition function\">:</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">darwinConfigurations</span>.<span class=\"string\"><span class=\"punctuation definition string\">\"</span>my-username-aarch64-darwin<span class=\"punctuation definition string\">\"</span></span> <span class=\"keyword operator\">=</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">nix-darwin</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">lib</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">darwinSystem</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">system</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>aarch64-darwin<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n\n      <span class=\"entity other attribute-name\">modules</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition list\">[</span>\n        <span class=\"comment\"># Add the determinate nix-darwin module</span>\n        <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">determinate</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">darwinModules</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">default</span>\n\n        <span class=\"comment\"># Configure the determinate module</span>\n        <span class=\"punctuation definition\">(</span><span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">config</span><span class=\"keyword operator\">,</span> <span class=\"variable parameter function\">lib</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span><span class=\"punctuation definition function\">:</span> <span class=\"punctuation definition\">{</span>\n          <span class=\"entity other attribute-name\">determinateNix</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n            <span class=\"comment\"># Enable Determinate Nix to handle your Nix configuration rather than nix-darwin</span>\n            <span class=\"entity other attribute-name\">enable</span> <span class=\"keyword operator\">=</span> <span class=\"constant\">true</span><span class=\"punctuation\">;</span>\n            <span class=\"comment\"># Custom settings written to /etc/nix/nix.custom.conf</span>\n            <span class=\"entity other attribute-name\">customSettings</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n              <span class=\"entity other attribute-name\">flake-registry</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>/etc/nix/flake-registry.json<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n              <span class=\"entity other attribute-name\">sandbox</span> <span class=\"keyword operator\">=</span> <span class=\"constant\">true</span><span class=\"punctuation\">;</span>\n            <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n          <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n        <span class=\"punctuation definition\">}</span><span class=\"punctuation definition\">)</span>\n      <span class=\"punctuation definition list\">]</span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n<p>You can also manage <a href=\"https://docs.determinate.systems/determinate-nix/#determinate-nixd-configuration\" rel=\"nofollow noopener noreferrer\">Determinate Nixd's configuration</a> using the <code>determinateNixd</code> attribute.\nThis automatically creates a <code>/etc/determinate/config.json</code> file for you.\nHere's an example:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">determinateNix</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">enable</span> <span class=\"keyword operator\">=</span> <span class=\"constant\">true</span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">determinateNixd</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">garbageCollector</span>.<span class=\"entity other attribute-name\">strategy</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>disabled<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n      <span class=\"entity other attribute-name\">authentication</span>.<span class=\"entity other attribute-name\">additionalNetrcSources</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition list\">[</span>\n        <span class=\"string\"><span class=\"punctuation definition string\">\"</span>/path/to/custom/netrc<span class=\"punctuation definition string\">\"</span></span>\n      <span class=\"punctuation definition list\">]</span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n<h2 id=\"readme-home-manager\"><a href=\"#readme-home-manager\" rel=\"nofollow noopener noreferrer\">Home Manager</a></h2>\n<p>If you use <a href=\"https://github.com/nix-community/home-manager\" rel=\"nofollow noopener noreferrer\">Home Manager</a> to provide Nix-based configuration for your system, if you set <code>nix.enable</code> to <code>true</code> you also need to set the <code>nix.package</code> attribute to <code>null</code> to ensure that you don't end up having a Nix that isn't Determinate Nix on your <code>PATH</code>.\nThis configuration, for example, would be compatible with Determinate Nix:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">homeConfigurations</span>.<span class=\"entity other attribute-name\">my-system</span> <span class=\"keyword operator\">=</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">home-manager</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">lib</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">homeManagerConfiguration</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">pkgs</span> <span class=\"keyword operator\">=</span> <span class=\"support function\">import</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">nixpkgs</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">system</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>x86_64-linux<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">modules</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition list\">[</span>\n      <span class=\"punctuation definition\">{</span>\n        <span class=\"entity other attribute-name\">nix</span>.<span class=\"entity other attribute-name\">package</span> <span class=\"keyword operator\">=</span> <span class=\"constant\">null</span><span class=\"punctuation\">;</span>\n      <span class=\"punctuation definition\">}</span>\n\n      <span class=\"comment\"># other modules</span>\n    <span class=\"punctuation definition list\">]</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n<p>This <code>determinate</code> flake also provides a Home Manager module that does that for you.\nThis configuration, for example, would be compatible with Determinate Nix:</p>\n<pre><code><span class=\"source\"><span class=\"punctuation definition\">{</span>\n  <span class=\"entity other attribute-name\">inputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/NixOS/nixpkgs/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">determinate</span>.<span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/DeterminateSystems/determinate/3<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"entity other attribute-name\">home-manager</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">url</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>https://flakehub.com/f/nix-community/home-manager/0<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n      <span class=\"entity other attribute-name\">inputs</span>.<span class=\"entity other attribute-name\">nixpkgs</span>.<span class=\"entity other attribute-name\">follows</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>nixpkgs<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n\n  <span class=\"entity other attribute-name\">outputs</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition entity function\">{</span> <span class=\"variable parameter function\">self</span><span class=\"keyword operator\">,</span> <span class=\"keyword operator\">... </span><span class=\"punctuation definition entity function\">}</span>@<span class=\"variable parameter function\">inputs</span><span class=\"punctuation definition function\">:</span> <span class=\"punctuation definition\">{</span>\n    <span class=\"entity other attribute-name\">homeConfigurations</span>.<span class=\"entity other attribute-name\">my-system</span> <span class=\"keyword operator\">=</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">home-manager</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">lib</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">homeManagerConfiguration</span> <span class=\"punctuation definition\">{</span>\n      <span class=\"entity other attribute-name\">pkgs</span> <span class=\"keyword operator\">=</span> <span class=\"support function\">import</span> <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">nixpkgs</span> <span class=\"punctuation definition\">{</span>\n        <span class=\"entity other attribute-name\">system</span> <span class=\"keyword operator\">=</span> <span class=\"string\"><span class=\"punctuation definition string\">\"</span>x86_64-linux<span class=\"punctuation definition string\">\"</span></span><span class=\"punctuation\">;</span>\n      <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n      <span class=\"entity other attribute-name\">modules</span> <span class=\"keyword operator\">=</span> <span class=\"punctuation definition list\">[</span>\n        <span class=\"variable parameter name\">inputs</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">determinate</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">homeManagerModules</span><span class=\"keyword operator\">.</span><span class=\"variable parameter name\">default</span>\n\n        <span class=\"comment\"># other modules</span>\n      <span class=\"punctuation definition list\">]</span><span class=\"punctuation\">;</span>\n    <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n  <span class=\"punctuation definition\">}</span><span class=\"punctuation\">;</span>\n<span class=\"punctuation definition\">}</span>\n</span></code></pre>\n","repo_url":"https://github.com/DeterminateSystems/determinate","revision":"2edae0b5150c83c07cf7b7e86e937ad956d78197","simplified_version":"3.17.2","source_github_owner_repo_pair":"DeterminateSystems/determinate","source_subdirectory":null,"spdx_identifier":null,"version":"3.17.2","visibility":"unlisted"}