{"id":27958401,"url":"https://github.com/determinatesystems/determinate","last_synced_at":"2026-04-29T02:13:47.008Z","repository":{"id":259126752,"uuid":"832312524","full_name":"DeterminateSystems/determinate","owner":"DeterminateSystems","description":"Determinate is Nix for the enterprise. An end-to-end experience of using Nix, from installation to collaboration to deployment.","archived":false,"fork":false,"pushed_at":"2026-04-23T20:25:52.000Z","size":464,"stargazers_count":132,"open_issues_count":14,"forks_count":10,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-23T22:15:39.954Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeterminateSystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-22T19:03:54.000Z","updated_at":"2026-04-23T20:25:51.000Z","dependencies_parsed_at":"2024-11-12T22:27:28.918Z","dependency_job_id":"4fb075a9-c2da-48e4-982a-fa92155a446c","html_url":"https://github.com/DeterminateSystems/determinate","commit_stats":null,"previous_names":["determinatesystems/determinate"],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/DeterminateSystems/determinate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeterminateSystems%2Fdeterminate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeterminateSystems%2Fdeterminate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeterminateSystems%2Fdeterminate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeterminateSystems%2Fdeterminate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeterminateSystems","download_url":"https://codeload.github.com/DeterminateSystems/determinate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeterminateSystems%2Fdeterminate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32407252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"online","status_checked_at":"2026-04-29T02:00:06.602Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-07T18:23:11.257Z","updated_at":"2026-04-29T02:13:46.953Z","avatar_url":"https://github.com/DeterminateSystems.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Determinate\n\n**Determinate** is [Nix] for the enterprise.\nIt provides an end-to-end experience around using Nix, from installation to collaboration to deployment.\nDeterminate has two core components:\n\n- [Determinate Nix][det-nix] is [Determinate Systems][detsys]' validated and secure downstream [Nix] distribution.\n  It comes bundled with [Determinate Nixd][dnixd], a helpful daemon that automates some otherwise-unpleasant aspects of using Nix, such as garbage collection and providing Nix with [Keychain]-provided certificates on macOS.\n- [FlakeHub] is a platform for publishing and discovering Nix flakes, providing [semantic versioning][semver] (SemVer) for flakes and automated flake publishing from [GitHub Actions][actions] and [GitLab CI][gitlab-ci].\n\nYou can get started with Determinate in one of two ways:\n\n| Situation                       | How to install                                                               |\n| :------------------------------ | :--------------------------------------------------------------------------- |\n| **Linux** but not using [NixOS] | [Determinate Nix Installer](#installing-using-the-determinate-nix-installer) |\n| **macOS**                       | [Determinate Nix Installer](#installing-using-the-determinate-nix-installer) |\n| **Linux** and using [NixOS]     | The [NixOS module](#installing-using-our-nix-flake) provided by this flake   |\n\n## Installing using the Determinate Nix Installer\n\n**macOS** users, including [nix-darwin] users, should install Determinate using [Determinate.pkg][pkg], our graphical installer.\n\n**Linux** users who are *not* on [NixOS] should use the [Determinate Nix Installer][installer] with the `--determinate` flag:\n\n```shell\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \\\n  sh -s -- install --determinate\n```\n\nLinux users who *are* on NixOS should follow the instructions [below](#installing-using-our-nix-flake).\n\n## Installing using our Nix flake\n\nIf you use [NixOS] you can install Determinate using this [Nix flake][flakes].\nTo add the `determinate` flake as a [flake input][flake-inputs]:\n\n```nix\n{\n  inputs.determinate.url = \"https://flakehub.com/f/DeterminateSystems/determinate/3\";\n}\n```\n\n\u003e We recommend not using a [`follows`][follows] directive for [Nixpkgs] (`inputs.nixpkgs.follows = \"nixpkgs\"`) in conjunction with the Determinate flake, as it leads to cache misses for artifacts otherwise available from [FlakeHub Cache][cache].\n\nYou can quickly set up Determinate using the `nixosModules.default` module output from this flake.\nHere's an example NixOS configuration for the current stable NixOS:\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"https://flakehub.com/f/NixOS/nixpkgs/0\";\n    determinate.url = \"https://flakehub.com/f/DeterminateSystems/determinate/3\";\n  };\n\n  outputs = { self, ... }@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```\n\n## nix-darwin\n\n\u003e [!IMPORTANT]\n\u003e Determinate's nix-darwin module does *not* install [Determinate Nix][det-nix] for you; consult our [installation instructions][docs] for that.\n\u003e Instead, this module ensures that nix-darwin and Determinate Nix are compatible and provides some useful helpers for configuring Determinate Nix, including [Determinate Nixd][dnixd].\n\nIf you use [nix-darwin] to provide Nix-based configuration for your macOS system, you need to disable nix-darwin's built-in Nix configuration mechanisms by applying the `determinate` nix-darwin module and setting `determinateNix.enable = true`; if not, Determinate Nix **does not work properly**.\nHere's an example nix-darwin configuration that would be compatible with Determinate Nix:\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"https://flakehub.com/f/NixOS/nixpkgs/0\";\n    nix-darwin = {\n      url = \"https://flakehub.com/f/nix-darwin/nix-darwin/0\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { self, ... }@inputs: {\n    darwinConfigurations.\"my-username-aarch64-darwin\" = inputs.nix-darwin.lib.darwinSystem {\n      system = \"aarch64-darwin\";\n\n      modules = [\n        # Add the determinate nix-darwin module\n        inputs.determinate.darwinModules.default\n\n        # Configure the determinate module\n        ({ config, lib, ... }: {\n          # Let Determinate Nix handle Nix configuration rather than nix-darwin\n          determinateNix = {\n            enable = true;\n\n            # Other settings\n          };\n        })\n      ];\n    };\n  };\n}\n```\n\nWhile Determinate Nix creates and manages the standard `nix.conf` file for you, you can set custom configuration in the `/etc/nix/nix.custom.conf` file, which is explained in more detail [in our documentation][configuring-determinate-nix].\nIf you'd like to set that custom configuration using nix-darwin, you can use the `customSettings` attribute for that.\nHere's an example:\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"https://flakehub.com/f/NixOS/nixpkgs/0\";\n    determinate.url = \"https://flakehub.com/f/DeterminateSystems/determinate/3\";\n    nix-darwin = {\n      url = \"https://flakehub.com/f/nix-darwin/nix-darwin/0\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { self, ... }@inputs: {\n    darwinConfigurations.\"my-username-aarch64-darwin\" = inputs.nix-darwin.lib.darwinSystem {\n      system = \"aarch64-darwin\";\n\n      modules = [\n        # Add the determinate nix-darwin module\n        inputs.determinate.darwinModules.default\n\n        # Configure the determinate module\n        ({ config, lib, ... }: {\n          determinateNix = {\n            # Enable Determinate Nix to handle your Nix configuration rather than nix-darwin\n            enable = true;\n            # Custom settings written to /etc/nix/nix.custom.conf\n            customSettings = {\n              flake-registry = \"/etc/nix/flake-registry.json\";\n              sandbox = true;\n            };\n          };\n        })\n      ];\n    };\n  };\n}\n```\n\nYou can also manage [Determinate Nixd's configuration][dnixd-config] using the `determinateNixd` attribute.\nThis automatically creates a `/etc/determinate/config.json` file for you.\nHere's an example:\n\n```nix\n{\n  determinateNix = {\n    enable = true;\n    determinateNixd = {\n      garbageCollector.strategy = \"disabled\";\n      authentication.additionalNetrcSources = [\n        \"/path/to/custom/netrc\"\n      ];\n    };\n  };\n}\n```\n\n## Home Manager\n\nIf you use [Home Manager][home-manager] to provide Nix-based configuration for your system, if you set `nix.enable` to `true` you also need to set the `nix.package` attribute to `null` to ensure that you don't end up having a Nix that isn't Determinate Nix on your `PATH`.\nThis configuration, for example, would be compatible with Determinate Nix:\n\n```nix\n{\n  homeConfigurations.my-system = inputs.home-manager.lib.homeManagerConfiguration {\n    pkgs = import inputs.nixpkgs {\n      system = \"x86_64-linux\";\n    };\n    modules = [\n      {\n        nix.package = null;\n      }\n\n      # other modules\n    ];\n  };\n}\n```\n\nThis `determinate` flake also provides a Home Manager module that does that for you.\nThis configuration, for example, would be compatible with Determinate Nix:\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"https://flakehub.com/f/NixOS/nixpkgs/0\";\n    determinate.url = \"https://flakehub.com/f/DeterminateSystems/determinate/3\";\n    home-manager = {\n      url = \"https://flakehub.com/f/nix-community/home-manager/0\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { self, ... }@inputs: {\n    homeConfigurations.my-system = inputs.home-manager.lib.homeManagerConfiguration {\n      pkgs = import inputs.nixpkgs {\n        system = \"x86_64-linux\";\n      };\n      modules = [\n        inputs.determinate.homeManagerModules.default\n\n        # other modules\n      ];\n    };\n  };\n}\n```\n\n[actions]: https://github.com/features/actions\n[cache]: https://determinate.systems/posts/flakehub-cache-beta\n[configuring-determinate-nix]: https://docs.determinate.systems/determinate-nix#determinate-nix-configuration\n[det-nix]: https://determinate.systems/nix\n[detsys]: https://determinate.systems\n[dnixd]: https://docs.determinate.systems/determinate-nix#determinate-nixd\n[dnixd-config]: https://docs.determinate.systems/determinate-nix/#determinate-nixd-configuration\n[docs]: https://docs.determinate.systems\n[flakehub]: https://flakehub.com\n[flake-inputs]: https://zero-to-nix.com/concepts/flakes#inputs\n[flakes]: https://zero-to-nix.com/concepts/flakes\n[follows]: https://zero-to-nix.com/concepts/flakes#inputs\n[gitlab-ci]: https://docs.gitlab.com/ee/ci\n[home-manager]: https://github.com/nix-community/home-manager\n[installer]: https://github.com/DeterminateSystems/nix-installer\n[keychain]: https://developer.apple.com/documentation/security/keychain-services\n[nix]: https://zero-to-nix.com/concepts/nix\n[nix-darwin]: https://github.com/nix-darwin/nix-darwin\n[nixos]: https://zero-to-nix.com/concepts/nixos\n[nixpkgs]: https://zero-to-nix.com/concepts/nixpkgs\n[pkg]: https://install.determinate.systems/determinate-pkg/stable/Universal\n[semver]: https://docs.determinate.systems/flakehub/concepts/semver\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeterminatesystems%2Fdeterminate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeterminatesystems%2Fdeterminate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeterminatesystems%2Fdeterminate/lists"}