mirror of
https://github.com/exo-explore/exo.git
synced 2026-01-19 11:28:51 -05:00
Continue working towards a fully Nix based build by building the dashboard with Nix. Continuing the theme of using the existing lock files, use dream2nix to parse the lock file and build the tree of dependency derivations. dream2nix doesn't like the bundleDependencies, so we apply a small patch to the lock file that drops all dependencies that are bundled. This should ideally be contributed upstream but that can be done later. Use this new dashboard build in the build-app CI workflow, meaning future macOS apps will include this reproducible dashboard. Test plan: - Built a DMG, shipped to a cluster, loaded in a browser with no cache and the dashboard looks good. - Directory layout is as expected: ``` $ nix build .#dashboard $ find result/ ... result/_app/immutable/entry result/_app/immutable/entry/app.CTPAnMjf.js result/_app/immutable/entry/start.fUSEa-2O.js result/_app/immutable/nodes result/_app/immutable/nodes/3.DqQr1Obm.js result/_app/immutable/nodes/0.DgEY44RO.js result/_app/immutable/nodes/2.BjZg_lJh.js result/_app/immutable/nodes/1.D6vGUYYT.js result/_app/env.js result/_app/version.json result/exo-logo.png result/favicon.ico result/index.html ```
247 lines
6.3 KiB
JSON
247 lines
6.3 KiB
JSON
{
|
|
"nodes": {
|
|
"crane": {
|
|
"locked": {
|
|
"lastModified": 1767744144,
|
|
"narHash": "sha256-9/9ntI0D+HbN4G0TrK3KmHbTvwgswz7p8IEJsWyef8Q=",
|
|
"owner": "ipetkov",
|
|
"repo": "crane",
|
|
"rev": "2fb033290bf6b23f226d4c8b32f7f7a16b043d7e",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "ipetkov",
|
|
"repo": "crane",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"dream2nix": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"nixpkgs"
|
|
],
|
|
"purescript-overlay": "purescript-overlay",
|
|
"pyproject-nix": "pyproject-nix"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1765953015,
|
|
"narHash": "sha256-5FBZbbWR1Csp3Y2icfRkxMJw/a/5FGg8hCXej2//bbI=",
|
|
"owner": "nix-community",
|
|
"repo": "dream2nix",
|
|
"rev": "69eb01fa0995e1e90add49d8ca5bcba213b0416f",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nix-community",
|
|
"repo": "dream2nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"fenix": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"nixpkgs"
|
|
],
|
|
"rust-analyzer-src": "rust-analyzer-src"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1768287139,
|
|
"narHash": "sha256-nsXFt0OzUi6K7dUzzJD5/v9e0Ic+fvclfIW936/43ZM=",
|
|
"owner": "nix-community",
|
|
"repo": "fenix",
|
|
"rev": "a4a3aa956931f90f35453cb519e4545e9ad7f773",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "nix-community",
|
|
"repo": "fenix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-compat": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1696426674,
|
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "edolstra",
|
|
"repo": "flake-compat",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"flake-parts": {
|
|
"inputs": {
|
|
"nixpkgs-lib": [
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1768135262,
|
|
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
|
"owner": "hercules-ci",
|
|
"repo": "flake-parts",
|
|
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "hercules-ci",
|
|
"repo": "flake-parts",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs": {
|
|
"locked": {
|
|
"lastModified": 1768127708,
|
|
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "nixos-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs-swift": {
|
|
"locked": {
|
|
"lastModified": 1761672384,
|
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"purescript-overlay": {
|
|
"inputs": {
|
|
"flake-compat": "flake-compat",
|
|
"nixpkgs": [
|
|
"dream2nix",
|
|
"nixpkgs"
|
|
],
|
|
"slimlock": "slimlock"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1728546539,
|
|
"narHash": "sha256-Sws7w0tlnjD+Bjck1nv29NjC5DbL6nH5auL9Ex9Iz2A=",
|
|
"owner": "thomashoneyman",
|
|
"repo": "purescript-overlay",
|
|
"rev": "4ad4c15d07bd899d7346b331f377606631eb0ee4",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "thomashoneyman",
|
|
"repo": "purescript-overlay",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"pyproject-nix": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"dream2nix",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1763017646,
|
|
"narHash": "sha256-Z+R2lveIp6Skn1VPH3taQIuMhABg1IizJd8oVdmdHsQ=",
|
|
"owner": "pyproject-nix",
|
|
"repo": "pyproject.nix",
|
|
"rev": "47bd6f296502842643078d66128f7b5e5370790c",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "pyproject-nix",
|
|
"repo": "pyproject.nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"root": {
|
|
"inputs": {
|
|
"crane": "crane",
|
|
"dream2nix": "dream2nix",
|
|
"fenix": "fenix",
|
|
"flake-parts": "flake-parts",
|
|
"nixpkgs": "nixpkgs",
|
|
"nixpkgs-swift": "nixpkgs-swift",
|
|
"treefmt-nix": "treefmt-nix"
|
|
}
|
|
},
|
|
"rust-analyzer-src": {
|
|
"flake": false,
|
|
"locked": {
|
|
"lastModified": 1768224240,
|
|
"narHash": "sha256-Pp1dDrXKPBUJReZnnDElFyHYn67XTd48zRhToheLjtk=",
|
|
"owner": "rust-lang",
|
|
"repo": "rust-analyzer",
|
|
"rev": "725349602e525df37f377701e001fe8aab807878",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "rust-lang",
|
|
"ref": "nightly",
|
|
"repo": "rust-analyzer",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"slimlock": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"dream2nix",
|
|
"purescript-overlay",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1688756706,
|
|
"narHash": "sha256-xzkkMv3neJJJ89zo3o2ojp7nFeaZc2G0fYwNXNJRFlo=",
|
|
"owner": "thomashoneyman",
|
|
"repo": "slimlock",
|
|
"rev": "cf72723f59e2340d24881fd7bf61cb113b4c407c",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "thomashoneyman",
|
|
"repo": "slimlock",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"treefmt-nix": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1768158989,
|
|
"narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=",
|
|
"owner": "numtide",
|
|
"repo": "treefmt-nix",
|
|
"rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "numtide",
|
|
"repo": "treefmt-nix",
|
|
"type": "github"
|
|
}
|
|
}
|
|
},
|
|
"root": "root",
|
|
"version": 7
|
|
}
|