about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2021-12-15T23·09-0500
committergrfn <grfn@gws.fyi>2021-12-16T14·17+0000
commitd85c6a1b56eae850a972d7c0708525a736d33d01 (patch)
treed8ab9097fb9da173928dbf04a840e35b11f1a4d7
parent01f4212ca184c9be40b84a3f9365c17796d6b6f3 (diff)
feat(ops/modules): Provide some modules to all nixoses r/3266
For modules that are gated behind a mkEnableOption, it's reasonable to
just provide them to all Depot-built nixos systems without requiring
people to explicitly import them. This defines a special module called
`default-imports.nix` which imports these modules (currently just
tvl-cache.nix and automatic-gc.nix, as I'm being rather conservative
adding things here to avoid breaking anyone's system), then provides
that module as one of the `modules` passed at the top-level
nixos/eval-config invocation.

Change-Id: I3be299ab10ae4c451ef11c514edb3c89318a2278
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4345
Tested-by: BuildkiteCI
Autosubmit: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
-rw-r--r--ops/machines/whitby/default.nix1
-rw-r--r--ops/modules/default-imports.nix13
-rw-r--r--third_party/default.nix7
-rw-r--r--users/tazjin/nixos/tverskoy/default.nix2
4 files changed, 18 insertions, 5 deletions
diff --git a/ops/machines/whitby/default.nix b/ops/machines/whitby/default.nix
index e082f95889..dbd8c61640 100644
--- a/ops/machines/whitby/default.nix
+++ b/ops/machines/whitby/default.nix
@@ -7,7 +7,6 @@ let
 in {
   imports = [
     "${depot.path}/ops/modules/atward.nix"
-    "${depot.path}/ops/modules/automatic-gc.nix"
     "${depot.path}/ops/modules/clbot.nix"
     "${depot.path}/ops/modules/gerrit-queue.nix"
     "${depot.path}/ops/modules/git-serving.nix"
diff --git a/ops/modules/default-imports.nix b/ops/modules/default-imports.nix
new file mode 100644
index 0000000000..acd70bd05f
--- /dev/null
+++ b/ops/modules/default-imports.nix
@@ -0,0 +1,13 @@
+{ depot, ... }:
+
+# Default set of modules that are imported in all Depot nixos systems
+#
+# All modules here should be properly gated behind a `lib.mkEnableOption` with a
+# `lib.mkIf` for the config.
+
+{
+  imports = [
+    ./automatic-gc.nix
+    ./tvl-cache.nix
+  ];
+}
diff --git a/third_party/default.nix b/third_party/default.nix
index 5a244ed220..e9e3c117ce 100644
--- a/third_party/default.nix
+++ b/third_party/default.nix
@@ -12,7 +12,7 @@
 #    other folders below //third_party, other than the ones mentioned
 #    above.
 
-{ pkgs, ... }:
+{ pkgs, depot, ... }:
 
 {
   # Expose a partially applied NixOS, expecting an attribute set with
@@ -33,7 +33,10 @@
   let
     eval = import "${pkgs.path}/nixos/lib/eval-config.nix" {
       inherit specialArgs system;
-      modules = [ configuration ];
+      modules = [
+        configuration
+        (import "${depot.path + "/ops/modules/default-imports.nix"}")
+      ];
     };
 
     # This is for `nixos-rebuild build-vm'.
diff --git a/users/tazjin/nixos/tverskoy/default.nix b/users/tazjin/nixos/tverskoy/default.nix
index 45bf8c9712..757d38f135 100644
--- a/users/tazjin/nixos/tverskoy/default.nix
+++ b/users/tazjin/nixos/tverskoy/default.nix
@@ -18,8 +18,6 @@ config: let
 in lib.fix(self: {
   imports = [
     "${depot.third_party.impermanence}/nixos.nix"
-    "${depot.path + "/ops/modules/automatic-gc.nix"}"
-    "${depot.path + "/ops/modules/tvl-cache.nix"}"
     "${pkgs.home-manager.src}/nixos"
   ];