From d5b5519f4f4a432482b387be21ef0b3dd149fb2c Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 7 Jul 2024 08:34:47 +0200 Subject: [PATCH] outputs: allow string interpolation --- default.nix | 4 ++-- outputs.nix | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/default.nix b/default.nix index 3ce80ff..0c9248a 100644 --- a/default.nix +++ b/default.nix @@ -47,5 +47,5 @@ let type != "unknown" && builtins.baseNameOf path != ".git" && !matchesGitIgnore path ) ./.; in -if !(evaluatingInStore) then import selfInStore -else import ./outputs.nix +if !(evaluatingInStore) then { ... }@args: import selfInStore ({ selfPath = selfInStore; } // args ) +else { ... }@args: import ./outputs.nix ({ selfPath = selfInStore; } // args) diff --git a/outputs.nix b/outputs.nix index c466f63..6793c9d 100644 --- a/outputs.nix +++ b/outputs.nix @@ -1,4 +1,7 @@ -{ inputs ? import ./inputs.nix {} }: +{ + inputs ? import ./inputs.nix {}, + selfPath ? ./. +}: let @@ -6,6 +9,7 @@ lib = (import "${inputs.nixpkgs}/lib").extend (import ./lib/overlays/version-inf self = { inherit inputs lib self; + __toString = _: selfPath; modifiedNixpkgs = import ./pkgs/top-level/impure.nix; modifiedNixpkgsPure = import ./pkgs/top-level/default.nix; overlays = { @@ -40,8 +44,8 @@ self = { ./hosts/${name} { config.nixpkgs.overlays = [ - ( import ./pkgs/overlays/selfExpr.nix { nixpkgsPath = "${builtins.toString ./.}/pkgs/top-level/impure.nix"; } ) - ( import "${inputs.nixpkgs}/pkgs/top-level/by-name-overlay.nix" "${builtins.toString ./.}/pkgs/by-name" ) + ( import ./pkgs/overlays/selfExpr.nix { nixpkgsPath = "${self}/pkgs/top-level/impure.nix"; } ) + ( import "${inputs.nixpkgs}/pkgs/top-level/by-name-overlay.nix" "${self}/pkgs/by-name" ) self.overlays.versionInfoFixup ]; }