|
|
|
@ -7,8 +7,7 @@ |
|
|
|
|
# v0.8.1 |
|
|
|
|
inputs.garage.url = "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?ref=main&rev=76230f20282e73a5a5afa33af68152acaf732cf5"; |
|
|
|
|
|
|
|
|
|
description = "cryptic-net provides the foundation for an autonomous community |
|
|
|
|
cloud infrastructure"; |
|
|
|
|
description = "cryptic-net provides the foundation for an autonomous community cloud infrastructure"; |
|
|
|
|
|
|
|
|
|
outputs = { |
|
|
|
|
|
|
|
|
@ -23,31 +22,61 @@ cloud infrastructure"; |
|
|
|
|
"i686-linux" |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
in utils.lib.eachSystem supportedSystems (system: let |
|
|
|
|
|
|
|
|
|
pkgs = import pkgsSrc { |
|
|
|
|
inherit system; |
|
|
|
|
|
|
|
|
|
#crossSystem = { |
|
|
|
|
# config = system; |
|
|
|
|
#}; |
|
|
|
|
|
|
|
|
|
overlays = [ |
|
|
|
|
(import ./nix/overlays/go.nix) |
|
|
|
|
]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
defaultAttrs = (import ./default.nix) { |
|
|
|
|
inherit pkgs; |
|
|
|
|
hostSystem = system; |
|
|
|
|
#buildSystem = self.system; |
|
|
|
|
garage = garage.packages."${system}".default; |
|
|
|
|
selfRev = if self ? rev then self.rev else "UNKNOWN"; |
|
|
|
|
}; |
|
|
|
|
mkPkg = (buildSystem: hostSystem: let |
|
|
|
|
|
|
|
|
|
pkgs = import pkgsSrc { |
|
|
|
|
system = buildSystem; |
|
|
|
|
|
|
|
|
|
crossSystem = { |
|
|
|
|
config = hostSystem; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
overlays = [ |
|
|
|
|
(import ./nix/overlays/go.nix) |
|
|
|
|
]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
defaultAttrs = (import ./default.nix) { |
|
|
|
|
inherit pkgs; |
|
|
|
|
hostSystem = hostSystem; |
|
|
|
|
garage = garage.packages."${hostSystem}".default; |
|
|
|
|
selfRev = if self ? rev then self.rev else "UNKNOWN"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
in |
|
|
|
|
defaultAttrs.garage |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
# TODO Once everything else is prepared for cross compilation this can be |
|
|
|
|
# re-enabled. Things left to do: |
|
|
|
|
# |
|
|
|
|
# - Revert to not using flake for garage, we'll need to compile it |
|
|
|
|
# ourselves because flakes don't actually support cross-compilation in a |
|
|
|
|
# nice way. |
|
|
|
|
# |
|
|
|
|
# - Set ARCH arg for appimagetool target in default.nix |
|
|
|
|
# |
|
|
|
|
# - Test builds in QEMU or something. |
|
|
|
|
# |
|
|
|
|
# - Probably other things which will come up |
|
|
|
|
#pkgsForBuildSystem = (buildSystem: builtins.foldl' |
|
|
|
|
# (sysPkgs: hostSystem: |
|
|
|
|
# sysPkgs // { "compiled-for-${hostSystem}" = mkPkg buildSystem hostSystem; }) |
|
|
|
|
# { default = mkPkg buildSystem buildSystem; } |
|
|
|
|
# supportedSystems |
|
|
|
|
#); |
|
|
|
|
|
|
|
|
|
pkgsForBuildSystem = (buildSystem: |
|
|
|
|
{ default = mkPkg buildSystem buildSystem; }); |
|
|
|
|
|
|
|
|
|
in { |
|
|
|
|
|
|
|
|
|
defaultPackage = defaultAttrs.appImage; |
|
|
|
|
packages = (builtins.foldl' |
|
|
|
|
(pkgs: buildSystem: |
|
|
|
|
pkgs // { "${buildSystem}" = pkgsForBuildSystem buildSystem; }) |
|
|
|
|
{} |
|
|
|
|
supportedSystems |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|