From f585fde175b0c565752cb89c2d09af556d4a4a56 Mon Sep 17 00:00:00 2001
From: Tom Prince <tom.prince@private.storage>
Date: Thu, 26 Aug 2021 04:41:50 -0600
Subject: [PATCH] Publish directory of systems.

---
 arion.nix | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arion.nix b/arion.nix
index 4f26806..7a2a04e 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;}
-- 
GitLab