From 3aa7a6ee691ab683d0eabc498e50cd15fd33419e Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Mon, 24 Jun 2024 21:28:45 +0200 Subject: [PATCH] Inventory: move to lib.inventory --- flake.nix | 2 -- lib/build-clan/default.nix | 4 ++-- lib/default.nix | 1 + {inventory => lib/inventory}/.envrc | 0 {inventory => lib/inventory}/README.md | 0 inventory/default.nix => lib/inventory/_old_default.nix | 0 .../build-inventory/default.nix} | 0 .../build-inventory}/interface.nix | 1 + lib/inventory/default.nix | 5 +++++ {inventory => lib/inventory}/flake-module.nix | 9 ++------- {inventory => lib/inventory}/src/cue.mod/module.cue | 0 {inventory => lib/inventory}/src/root.cue | 0 {inventory => lib/inventory}/src/schema/schema.cue | 0 {inventory => lib/inventory}/src/tests/borgbackup.json | 0 {inventory => lib/inventory}/src/tests/syncthing.json | 0 {inventory => lib/inventory}/src/tests/zerotier.json | 0 16 files changed, 11 insertions(+), 11 deletions(-) rename {inventory => lib/inventory}/.envrc (100%) rename {inventory => lib/inventory}/README.md (100%) rename inventory/default.nix => lib/inventory/_old_default.nix (100%) rename lib/{build-clan/inventory.nix => inventory/build-inventory/default.nix} (100%) rename lib/{build-clan => inventory/build-inventory}/interface.nix (99%) create mode 100644 lib/inventory/default.nix rename {inventory => lib/inventory}/flake-module.nix (91%) rename {inventory => lib/inventory}/src/cue.mod/module.cue (100%) rename {inventory => lib/inventory}/src/root.cue (100%) rename {inventory => lib/inventory}/src/schema/schema.cue (100%) rename {inventory => lib/inventory}/src/tests/borgbackup.json (100%) rename {inventory => lib/inventory}/src/tests/syncthing.json (100%) rename {inventory => lib/inventory}/src/tests/zerotier.json (100%) diff --git a/flake.nix b/flake.nix index 341c5b84..be6a1db8 100644 --- a/flake.nix +++ b/flake.nix @@ -53,8 +53,6 @@ ./nixosModules/flake-module.nix ./pkgs/flake-module.nix ./templates/flake-module.nix - - ./inventory/flake-module.nix ]; } ); diff --git a/lib/build-clan/default.nix b/lib/build-clan/default.nix index 271f4254..9328b460 100644 --- a/lib/build-clan/default.nix +++ b/lib/build-clan/default.nix @@ -33,7 +33,7 @@ let mergedInventory = (lib.evalModules { modules = [ - ./interface.nix + clan-core.lib.inventory.interface { inherit meta; } ( if @@ -77,7 +77,7 @@ let ]; }).config; - buildInventory = import ./inventory.nix { inherit lib clan-core; }; + inherit (clan-core.lib.inventory) buildInventory; # map from machine name to service configuration # { ${machineName} :: Config } diff --git a/lib/default.nix b/lib/default.nix index ef5fe7ac..086fcce8 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -6,6 +6,7 @@ }: { evalClanModules = import ./eval-clan-modules { inherit clan-core nixpkgs lib; }; + inventory = import ./inventory { inherit lib clan-core; }; jsonschema = import ./jsonschema { inherit lib; }; modules = import ./description.nix { inherit clan-core lib; }; buildClan = import ./build-clan { inherit clan-core lib nixpkgs; }; diff --git a/inventory/.envrc b/lib/inventory/.envrc similarity index 100% rename from inventory/.envrc rename to lib/inventory/.envrc diff --git a/inventory/README.md b/lib/inventory/README.md similarity index 100% rename from inventory/README.md rename to lib/inventory/README.md diff --git a/inventory/default.nix b/lib/inventory/_old_default.nix similarity index 100% rename from inventory/default.nix rename to lib/inventory/_old_default.nix diff --git a/lib/build-clan/inventory.nix b/lib/inventory/build-inventory/default.nix similarity index 100% rename from lib/build-clan/inventory.nix rename to lib/inventory/build-inventory/default.nix diff --git a/lib/build-clan/interface.nix b/lib/inventory/build-inventory/interface.nix similarity index 99% rename from lib/build-clan/interface.nix rename to lib/inventory/build-inventory/interface.nix index 4a46ae39..c399d2af 100644 --- a/lib/build-clan/interface.nix +++ b/lib/inventory/build-inventory/interface.nix @@ -78,6 +78,7 @@ in }; options.services = lib.mkOption { + default = { }; type = t.attrsOf ( t.attrsOf ( t.submodule { diff --git a/lib/inventory/default.nix b/lib/inventory/default.nix new file mode 100644 index 00000000..78a4c1ac --- /dev/null +++ b/lib/inventory/default.nix @@ -0,0 +1,5 @@ +{ lib, clan-core }: +{ + buildInventory = import ./build-inventory { inherit lib clan-core; }; + interface = ./build-inventory/interface.nix; +} diff --git a/inventory/flake-module.nix b/lib/inventory/flake-module.nix similarity index 91% rename from inventory/flake-module.nix rename to lib/inventory/flake-module.nix index 782f2496..11a5ce9f 100644 --- a/inventory/flake-module.nix +++ b/lib/inventory/flake-module.nix @@ -1,11 +1,6 @@ +{ ... }: { - inputs, - self, - lib, - ... -}: -{ - flake.inventory = import ./default.nix { inherit inputs self lib; }; + # flake.inventory = import ./default.nix { inherit inputs self lib; }; perSystem = { pkgs, config, ... }: { diff --git a/inventory/src/cue.mod/module.cue b/lib/inventory/src/cue.mod/module.cue similarity index 100% rename from inventory/src/cue.mod/module.cue rename to lib/inventory/src/cue.mod/module.cue diff --git a/inventory/src/root.cue b/lib/inventory/src/root.cue similarity index 100% rename from inventory/src/root.cue rename to lib/inventory/src/root.cue diff --git a/inventory/src/schema/schema.cue b/lib/inventory/src/schema/schema.cue similarity index 100% rename from inventory/src/schema/schema.cue rename to lib/inventory/src/schema/schema.cue diff --git a/inventory/src/tests/borgbackup.json b/lib/inventory/src/tests/borgbackup.json similarity index 100% rename from inventory/src/tests/borgbackup.json rename to lib/inventory/src/tests/borgbackup.json diff --git a/inventory/src/tests/syncthing.json b/lib/inventory/src/tests/syncthing.json similarity index 100% rename from inventory/src/tests/syncthing.json rename to lib/inventory/src/tests/syncthing.json diff --git a/inventory/src/tests/zerotier.json b/lib/inventory/src/tests/zerotier.json similarity index 100% rename from inventory/src/tests/zerotier.json rename to lib/inventory/src/tests/zerotier.json