Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,12 @@ source by.
| `home-manager` | `home-manager` | Home Manager configurations |
| `home-manager-minimal` | `home-manager` | the `homeManager` class with Home Manager's necessary modules alone, the configuration importing what it uses from `modulesPath`; a second integration over the class `home-manager` owns |
| `hjem` | `hjem` | the files and packages of a user, as hjem manifests; activated by the NixOS configuration they are declared inside, or applied with `hjem standalone` |
| `terranix` | `terranix` | Terranix and Terraform configurations |
| `terranix` | `terranix` | Terraform configurations written as terranix modules, published as `terranixConfigurations` of the `config.tf.json` files Terraform reads |
| `caisson-colmena` | `colmena` | colmena configurations whose machines are NixOS configurations declared inside them, published as the hive colmena's command reads; the colmena integration we recommend for new configurations |
| `colmena` | `colmena` | a hive written for colmena, taken as it is, with each node a NixOS configuration; for porting an existing hive and the modules written for it |
| `caisson-disko` | `disko` | disk layouts, with the NixOS configurations installed onto each declared inside it; a machine gets the layout's file systems and no disko scripts; the disko integration we recommend for new configurations |
| `disko` | `disko` | disk layouts written as disko reads them, whose machines import disko's NixOS module, so disko's command, `disko-install` and its image builder work on them |
| `system-manager` | `system-manager` | system-manager configurations on foreign distros |
| `system-manager` | `system-manager` | the systems of machines running another Linux distribution, published as the `systemConfigs` that `system-manager switch` reads |
| `structural` | none | a configuration that only exports and holds configurations beneath it: the top of a repository whose point is what it exports, such as caisson itself, or a layer at any depth |

Each integration finds its ecosystem in this order: the `ecosystemSrc`
Expand Down
4 changes: 2 additions & 2 deletions configs/flake/caisson/partitions/checks.nix
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
};
in
builtins.seq suite.summary (pkgs.runCommand "pinned-world" { } "touch $out");
# The manifest file of an hjem configuration inside a NixOS
# The manifest file of a hjem configuration inside a NixOS
# machine and the units that activate it, built. Building
# the manifest file checks it against hjem's own schema
# with `cue vet`, so the file the machine activates is one
Expand Down Expand Up @@ -297,7 +297,7 @@
};
};
in
# The bare machine, and the machine with a home and an hjem
# The bare machine, and the machine with a home and a hjem
# configuration inside it, whose system holds the activation
# of the home and the launchd agents of hjem.
probe.pkgs.linkFarm "darwin-system" [
Expand Down
4 changes: 2 additions & 2 deletions docs/development/testing-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ The checks partition merges outputs from all test and example flakes into the
| `literate-flake-greeting` | `examples/literate-flake/` | Example greeting package builds |
| `debug-disabled` | `checks.nix` (inline) | `self.debug` is not exposed in production |
| `pinned-world` | `checks.nix` + `tests/pinned-world/` | caisson composed with the pinned upstream world (nixpkgs, home-manager, colmena, disko, nix-darwin, hjem, terranix, system-manager) evaluates end to end; the `drift` workflow runs the same check against advanced pins |
| `hjem-system` | `checks.nix` + `tests/hjem-system/` | The manifest file of an hjem configuration inside a NixOS machine builds, which checks it against hjem's schema with `cue vet`, and so do the units that activate it, which runs shellcheck on their scripts |
| `darwin-system` (aarch64-darwin) | `checks.nix` + `tests/darwin-system/` | The two macOS machines of the pinned-world suite, declared through the darwin integration, build: the bare machine, and the machine with a home and an hjem configuration inside it; the `darwin-build` job of the check workflow builds them on a macOS runner |
| `hjem-system` | `checks.nix` + `tests/hjem-system/` | The manifest file of a hjem configuration inside a NixOS machine builds, which checks it against hjem's schema with `cue vet`, and so do the units that activate it, which runs shellcheck on their scripts |
| `darwin-system` (aarch64-darwin) | `checks.nix` + `tests/darwin-system/` | The two macOS machines of the pinned-world suite, declared through the darwin integration, build: the bare machine, and the machine with a home and a hjem configuration inside it; the `darwin-build` job of the check workflow builds them on a macOS runner |
| `argument-errors` | `checks.nix` + `tests/argument-errors/` | The argument error of every entry point comes from Nix itself, raised at the call site with no frame of caisson |
| `eval-weight` | `checks.nix` + `tests/eval-weight/` | Framework evaluation cost held to committed ceilings ([guide](https://nix-caisson.github.io/docs/eval-weight.html)) |
2 changes: 1 addition & 1 deletion docs/development/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ plumbing works.
configuration, a NixOS system with homes declared inside it, a
colmena hive, disk layouts with the machines installed onto them, a
darwin machine evaluated at aarch64-darwin with and without a home
and an hjem configuration inside it, hjem configurations on
and a hjem configuration inside it, hjem configurations on
their own and inside a NixOS machine, a terranix and a system-manager
configuration, and the composition guarantees of the real exported
overlays. The `hjem-system` check builds the manifest file of the hjem
Expand Down
12 changes: 6 additions & 6 deletions lib-overlays/hjem/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: MIT
#
# The hjem integration: it owns the `hjem` class, hjem's class for the
# files and packages of a user. An hjem configuration is the home of a
# files and packages of a user. A hjem configuration is the home of a
# user, evaluated at every system in force where it is declared.
#
# hjem itself evaluates a user only inside its NixOS and nix-darwin
Expand Down Expand Up @@ -52,7 +52,7 @@
context = "caisson.hjem";
};

# An hjem source: the hjem flake or source tree, which holds the
# A hjem source: the hjem flake or source tree, which holds the
# user module and hjem's library.
assertHjemSrc =
ecosystemSrc:
Expand All @@ -66,7 +66,7 @@
then
ecosystemSrc
else
throw "${context} requires `ecosystemSrc` to be an hjem flake or source tree (holding modules/common/user.nix and lib.nix).";
throw "${context} requires `ecosystemSrc` to be a hjem flake or source tree (holding modules/common/user.nix and lib.nix).";

# The manifest of an evaluated user, as hjem's OS modules write
# it: version 3, with an entry for every enabled file of the
Expand Down Expand Up @@ -232,7 +232,7 @@
};
};

# An hjem configuration is published as
# A hjem configuration is published as
# `hjemConfigurations.<name>`, with `manifest` and `packages`,
# which is what `hjem standalone switch --flake` reads.
exportsTo = {
Expand All @@ -242,7 +242,7 @@
};
};

# What a reader of a file gets from an hjem configuration that is
# What a reader of a file gets from a hjem configuration that is
# a top: `manifest` and `packages`, which `hjem standalone switch
# --config` reads, and the manifest of the evaluation under
# `caisson.manifest`. hjem's CLI serializes the whole value with
Expand Down Expand Up @@ -273,7 +273,7 @@
args:
final.caisson.integrations.mkModuleConfiguration {
type = "hjem";
# An hjem configuration is evaluated at a system: it has an
# A hjem configuration is evaluated at a system: it has an
# evaluation for every system in force where it is declared.
perSystem = true;
defaultPkgs = args.defaultPkgs or null;
Expand Down
Loading
Loading