diff --git a/arion.nix b/arion.nix index 4f2680652ce5a9104d7d9ea6d3a13a9a31c760aa..7a2a04eb4cf7e871c72a9e98ea50108cf6bfb813 100644 --- a/arion.nix +++ b/arion.nix @@ -3,6 +3,7 @@ , includeStorePaths ? false }: let + inherit (pkgs) lib; nixpkgs = import <nixpkgs> {}; local-grid = "${./.}/morph/grid/local"; arion-src = nixpkgs.fetchFromGitHub { @@ -15,6 +16,15 @@ let arion = arion-eval { modules = [ "${local-grid}/arion-compose.nix" ]; }; + systems = pkgs.runCommand "systems" + { preferLocalBuild = true; allowSubstitutes = false; } + '' + mkdir $out + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: service: + '' + ln -s ${service.nixos.build.toplevel} $out/${lib.escapeShellArg name} + '' + ) arion.config.services)}''; bundle = pkgs.dockerTools.mergeImages ( map ( { imageName, imageTag, imageExe }: @@ -38,4 +48,4 @@ let ''; pause = pkgs.callPackage ./pause.nix {}; in - {inherit pkgs arion local-grid bundle arion-eval arion-src docker-yaml package pause;} + {inherit pkgs arion local-grid bundle arion-eval arion-src docker-yaml package pause systems;}