Skip to content

Commit

Permalink
Merge pull request #39 from DeterminateSystems/revamp-readme
Browse files Browse the repository at this point in the history
Revamp README in preparation for making flake public
  • Loading branch information
lucperkins authored Oct 17, 2024
2 parents ec5f982 + 8104acb commit fc84eed
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 11 deletions.
57 changes: 47 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
# Determinate

[Determinate Systems'][detsys] validated [Nix], configured for [FlakeHub] and bundled with [`fh`][fh], the CLI for FlakeHub.
To add it to a [flake][flakes]:
**Determinate** is [Nix] for the enterprise.
It provides an end-to-end experience around using Nix, from installation to collaboration to deployment.
Determinate has two core components:

- [Determinate Nix][det-nix] is [Determinate Systems][detsys]' validate and secure downstream [Nix] distribution.
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.
- [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].

You can get started with Determinate in one of two ways:

| Situation | How to install |
| :----------------------------------- | :--------------------------------------------------------------------------- |
| **Linux** but not using [NixOS] | [Determinate Nix Installer](#installing-using-the-determinate-nix-installer) |
| **macOS** but not using [nix-darwin] | [Determinate Nix Installer](#installing-using-the-determinate-nix-installer) |
| **Linux** and using [NixOS] | The [NixOS module](#nixos) provided by this flake |
| **macOS** and using [nix-darwin] | The [nix-darwin module](#nix-darwin) provided by this flake |

## Installing using the Determinate Nix Installer

If you use...

- **macOS** (not [nix-darwin]) or
- **Linux** (not [NixOS])

...you can install Determinate using the [Determinate Nix Installer][installer] with the `--determinate` flag:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
sh -s -- install --determinate
```

## Installing using our Nix flake

If you use [nix-darwin] or [NixOS] you can install Determinate using this [Nix flake][flakes].
To add the `determinate` flake as a [flake input][flake-inputs]:

```nix
{
Expand All @@ -11,11 +44,10 @@ To add it to a [flake][flakes]:

> 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].
## NixOS

You can quickly set up Determinate on [NixOS] using the NixOS module.
### NixOS

Here's an example configuration:
If you're a [NixOS] user, you can quickly set up Determinate using the `nixosModules.default` module output from this flake.
Here's an example NixOS configuration:

```nix
{
Expand All @@ -34,11 +66,10 @@ Here's an example configuration:
}
```

## nix-darwin

You can quickly set up Determinate on macOS using the [nix-darwin] module.
### nix-darwin

Here's an example configuration:
If you're a [nix-darwin] user on macOS, you can quickly set up Determinate using the `darwinModules.default` module output from this flake.
Here's an example nix-darwin configuration:

```nix
{
Expand All @@ -57,15 +88,21 @@ Here's an example configuration:
}
```

[actions]: https://github.com/features/actions
[cache]: https://determinate.systems/posts/flakehub-cache-beta
[det-nix]: https://determinate.systems/nix
[detsys]: https://determinate.systems
[fh]: https://github.com/DeterminateSystems/fh
[flakehub]: https://flakehub.com
[flake-inputs]: https://zero-to-nix.com/concepts/flakes#inputs
[flakes]: https://zero-to-nix.com/concepts/flakes
[follows]: https://zero-to-nix.com/concepts/flakes#inputs
[gitlab-ci]: https://docs.gitlab.com/ee/ci
[installer]: https://github.com/DeterminateSystems/nix-installer
[netrc]: https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html
[nix]: https://zero-to-nix.com/concepts/nix
[nix-conf]: https://nix.dev/manual/nix/latest/command-ref/conf-file
[nix-darwin]: https://github.com/LnL7/nix-darwin
[nixos]: https://zero-to-nix.com/concepts/nixos
[nixpkgs]: https://zero-to-nix.com/concepts/nixpkgs
[semver]: https://docs.determinate.systems/flakehub/concepts/semver
1 change: 0 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@
Label = "systems.determinate.nix-store";
RunAtLoad = true;


StandardErrorPath = lib.mkForce "/var/log/determinate-nix-init.log";
StandardOutPath = lib.mkForce "/var/log/determinate-nix-init.log";

Expand Down

0 comments on commit fc84eed

Please sign in to comment.