diff --git a/lib/default.nix b/lib/default.nix index 436e397..552be81 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -32,6 +32,9 @@ rec { path: builtins.filter (lib.hasSuffix ".nix") (map toString (lib.filesystem.listFilesRecursive path)); + listNixFilesRecursiveDiscardStringContext = + x: (map builtins.unsafeDiscardStringContext) (listNixFilesRecursive x); + fixModuleSystem = file: lib.pipe file [ @@ -45,12 +48,13 @@ rec { lib.listToAttrs ( map (name: { name = lib.pipe name [ + toString (lib.removeSuffix ".nix") (lib.removePrefix "${toString path}/") ]; value = fixModuleSystem name; - }) (listNixFilesRecursive path) + }) (listNixFilesRecursiveDiscardStringContext path) ); gerg-utils = @@ -83,10 +87,9 @@ rec { in builtins.concatLists [ (importWithInputs' (builtins.attrValues self.nixosModules)) - ( - # (map fixModuleSystem - importWithInputs' (listNixFilesRecursive "${self}/hosts/${name}") - ) # ) + (importWithInputs' ( + map fixModuleSystem (listNixFilesRecursiveDiscardStringContext "${self}/hosts/${name}") + )) (import "${unstable}/nixos/modules/module-list.nix") (lib.singleton { networking.hostName = name; diff --git a/outputs.nix b/outputs.nix index 532164a..9ef667e 100644 --- a/outputs.nix +++ b/outputs.nix @@ -1,4 +1,4 @@ -inputs: +inputs@{ self, ... }: let lib = import ./lib inputs; in @@ -11,7 +11,7 @@ lib.gerg-utils { } { "iso" ]; - nixosModules = lib.mkModules ./modules; + nixosModules = lib.mkModules "${self}/modules"; diskoConfigurations = lib.mkDisko [ "gerg-desktop" @@ -23,5 +23,5 @@ lib.gerg-utils { } { devShells = pkgs: { default = pkgs.mkShell { packages = [ pkgs.sops ]; }; }; - packages = lib.mkPackages ./packages; + packages = lib.mkPackages "${self}/packages"; }