@@ -0,0 +1,50 @@
2+ description = "sphinx desk";
5+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
7+ # Dependency desks. Keep them on releases for the kelvin in
8+ # desk/sys.kelvin ([%zuse 412]) and bump them together with it.
10+ url = "github:urbit/urbit/412k-3";
14+ url = "github:tloncorp/landscape/v1.21.0";
27+ forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
30+ packages = forAllSystems (
33+ pkgs = nixpkgs.legacyPackages.${system};
36+ # Same layering as .github/helpers/deploy.sh: base-dev, then
37+ # landscape's desk-dev, then ./desk, later layers winning. -L copies
38+ # symlink targets like rsync -L; --no-preserve=mode keeps copied
39+ # files writable so later layers can overwrite them.
40+ desk = pkgs.runCommandLocal "sphinx-desk" { } ''
42+ for layer in ${urbit}/pkg/base-dev ${landscape}/desk-dev ${./desk}; do
43+ cp -RL --no-preserve=mode "$layer"/. $out
46+ default = self.packages.${system}.desk;