chore(auto-imports): Remove the auto-import feature. There will be a replacement, to make imports explicit"

This commit is contained in:
Johannes Kirschbauer
2025-03-30 14:59:55 +02:00
parent eac13871c2
commit a867034aae
2 changed files with 0 additions and 35 deletions

View File

@@ -1,23 +0,0 @@
{
lib,
self,
...
}:
let
# Returns an attrset with inputs that have the attribute `clanModules`
inputsWithClanModules = lib.filterAttrs (
_name: value: builtins.hasAttr "clanModules" value
) self.inputs;
flattenedClanModules = lib.foldl' (
acc: input:
lib.mkMerge [
acc
input.clanModules
]
) { } (lib.attrValues inputsWithClanModules);
in
{
inventory.modules = flattenedClanModules;
}

View File

@@ -168,18 +168,6 @@ let
in
{
imports = [
# Temporarily disable auto-imports since the type of the modules is not a plain path anymore we cant "merge" multiple definitions
# That this feature worked previously seems like a coincidence.
# TODO(@Qubasa): make sure modules are not imported twice.
# Example error:
# The option `inventory.modules.admin' is defined multiple times while it's expected to be unique.
# - In `/nix/store/a0iqxl7r1spqsf2b886kn3i5sj8p37nc-source/lib/build-clan/auto-imports.nix': /nix/store/a0iqxl7r1spqsf2b886kn3i5sj8p37nc-source/clanModules/admin
# - In `/nix/store/a0iqxl7r1spqsf2b886kn3i5sj8p37nc-source/lib/build-clan/module.nix': /nix/store/a0iqxl7r1spqsf2b886kn3i5sj8p37nc-source/clanModules/admin
#
# After the inventory refactoring we might not need this anymore
# People can just import the module they want to use: `module = { input = "inputName"; name = "moduleName"; };`
# ./auto-imports.nix
# Merge the inventory file
{
inventory = _: {