nix flake update
on gentype
's new flake-utils
This commit is contained in:
parent
909ebbec94
commit
9a3f368044
22
flake.lock
22
flake.lock
|
@ -15,18 +15,34 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1659877975,
|
||||||
|
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gentype": {
|
"gentype": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1660002716,
|
"lastModified": 1660628617,
|
||||||
"narHash": "sha256-Ig7Dt7d33nNCNlqRGc45uEJTXLRmpCeHrYNOd1AdObc=",
|
"narHash": "sha256-swFuey10pJV/TFcPv9pMf9xuXf/BDuJ1xzZ57jpfkrA=",
|
||||||
"owner": "quinn-dougherty",
|
"owner": "quinn-dougherty",
|
||||||
"repo": "genType",
|
"repo": "genType",
|
||||||
"rev": "c7291db6465ac62800a49bacbe94ce4eb4abcbe0",
|
"rev": "e4374399178976de0c4fc41f64dde913c3bed5dd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
146
flake.nix
146
flake.nix
|
@ -18,10 +18,91 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, gentype, hercules-ci-effects, flake-utils, ... }:
|
outputs = { self, nixpkgs, gentype, hercules-ci-effects, flake-utils, ... }:
|
||||||
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
|
let
|
||||||
|
commonFn = pkgs: {
|
||||||
|
buildInputs = with pkgs; [ nodejs yarn ];
|
||||||
|
prettier = with pkgs.nodePackages; [ prettier ];
|
||||||
|
which = [ pkgs.which ];
|
||||||
|
};
|
||||||
|
langFn = { pkgs, ... }:
|
||||||
|
import ./nix/squiggle-lang.nix { inherit pkgs commonFn gentype; };
|
||||||
|
componentsFn = { pkgs, ... }:
|
||||||
|
import ./nix/squiggle-components.nix { inherit pkgs commonFn langFn; };
|
||||||
|
websiteFn = { pkgs, ... }:
|
||||||
|
import ./nix/squiggle-website.nix {
|
||||||
|
inherit pkgs commonFn langFn componentsFn;
|
||||||
|
};
|
||||||
|
|
||||||
|
# local machines
|
||||||
|
localFlake = { pkgs }:
|
||||||
|
let
|
||||||
|
lang = langFn pkgs;
|
||||||
|
components = componentsFn pkgs;
|
||||||
|
website = websiteFn pkgs;
|
||||||
|
in {
|
||||||
|
# validating
|
||||||
|
checks = flake-utils.lib.flattenTree {
|
||||||
|
lang-lint = lang.lang-lint;
|
||||||
|
lang-test = lang.lang-test;
|
||||||
|
components-lint = components.components-lint;
|
||||||
|
docusaurus-lint = website.website-lint;
|
||||||
|
};
|
||||||
|
# building
|
||||||
|
packages = flake-utils.lib.flattenTree {
|
||||||
|
default = website.website;
|
||||||
|
lang-build = lang.lang-build;
|
||||||
|
lang-bundle = lang.lang-bundle;
|
||||||
|
components = components.components-package-build;
|
||||||
|
storybook = components.components-site-build;
|
||||||
|
docs-site = website.website;
|
||||||
|
};
|
||||||
|
|
||||||
|
# developing
|
||||||
|
devShells = flake-utils.lib.flattenTree {
|
||||||
|
default = (import ./nix/shell.nix { inherit pkgs; }).shell;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ci
|
||||||
|
herc = let
|
||||||
|
hciSystem = "x86_64-linux";
|
||||||
|
hciPkgs = import nixpkgs { system = hciSystem; };
|
||||||
|
effects = hercules-ci-effects.lib.withPkgs hciPkgs;
|
||||||
|
local = localFlake {
|
||||||
|
pkgs = hciPkgs;
|
||||||
|
lang = langFn { pkgs = hciPkgs; };
|
||||||
|
components = componentsFn { pkgs = hciPkgs; };
|
||||||
|
website = websiteFn { pkgs = hciPkgs; };
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
# herc
|
||||||
|
herculesCI = {
|
||||||
|
ciSystems = [ hciSystem ];
|
||||||
|
onPush = {
|
||||||
|
lang.outputs = {
|
||||||
|
squiggle-lang-lint = local.checks.${hciSystem}.lang-lint;
|
||||||
|
squiggle-lang-test = local.checks.${hciSystem}.lang-test;
|
||||||
|
# squiggle-lang-build = lang.lang-build;
|
||||||
|
squiggle-lang-bundle = local.packages.${hciSystem}.lang-bundle;
|
||||||
|
};
|
||||||
|
components.outputs = {
|
||||||
|
squiggle-components = local.packages.${hciSystem}.components;
|
||||||
|
squiggle-components-lint =
|
||||||
|
local.checks.${hciSystem}.components-lint;
|
||||||
|
squiggle-components-storybook =
|
||||||
|
local.packages.${hciSystem}.storybook;
|
||||||
|
};
|
||||||
|
docs-site.outputs = {
|
||||||
|
squiggle-website = local.packages.${hciSystem}.docs-site;
|
||||||
|
docusaurus-lint = local.checks.${hciSystem}.docusaurus-lint;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
in flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
|
||||||
let
|
let
|
||||||
# globals
|
# globals
|
||||||
hciSystem = "x86_64-linux";
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
system = system;
|
system = system;
|
||||||
overlays = [
|
overlays = [
|
||||||
|
@ -32,65 +113,6 @@
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
hciPkgs = import nixpkgs { system = hciSystem; };
|
|
||||||
effects = hercules-ci-effects.lib.withPkgs hciPkgs;
|
|
||||||
|
|
||||||
common = {
|
in (localFlake { inherit pkgs; } )) // herc;
|
||||||
buildInputs = with pkgs; [ nodejs yarn ];
|
|
||||||
prettier = with pkgs.nodePackages; [ prettier ];
|
|
||||||
which = [ pkgs.which ];
|
|
||||||
};
|
|
||||||
lang = import ./nix/squiggle-lang.nix {
|
|
||||||
inherit system pkgs common gentype;
|
|
||||||
};
|
|
||||||
components =
|
|
||||||
import ./nix/squiggle-components.nix { inherit pkgs common lang; };
|
|
||||||
website = import ./nix/squiggle-website.nix {
|
|
||||||
inherit pkgs common lang components;
|
|
||||||
};
|
|
||||||
|
|
||||||
in rec {
|
|
||||||
|
|
||||||
checks = flake-utils.lib.flattenTree {
|
|
||||||
lang-lint = lang.lang-lint;
|
|
||||||
lang-test = lang.lang-test;
|
|
||||||
components-lint = components.components-lint;
|
|
||||||
docusaurus-lint = website.website-lint;
|
|
||||||
};
|
|
||||||
packages = flake-utils.lib.flattenTree {
|
|
||||||
default = website.website;
|
|
||||||
lang-bundle = lang.lang-bundle;
|
|
||||||
components = components.components-package-build;
|
|
||||||
storybook = components.components-site-build;
|
|
||||||
docs-site = website.website;
|
|
||||||
};
|
|
||||||
|
|
||||||
# nix develop
|
|
||||||
devShells = flake-utils.lib.flattenTree {
|
|
||||||
default = (import ./nix/shell.nix { inherit pkgs; }).shell;
|
|
||||||
};
|
|
||||||
|
|
||||||
# herc
|
|
||||||
herculesCI = flake-utils.lib.flattenTree {
|
|
||||||
ciSystems = [ hciSystem ];
|
|
||||||
onPush = {
|
|
||||||
lang.outputs = {
|
|
||||||
squiggle-lang-lint = checks.${hciSystem}.lang-lint;
|
|
||||||
squiggle-lang-test = checks.${hciSystem}.lang-test;
|
|
||||||
squiggle-lang-build = lang.lang-build;
|
|
||||||
squiggle-lang-bundle = packages.${hciSystem}.lang-bundle;
|
|
||||||
};
|
|
||||||
components.outputs = {
|
|
||||||
squiggle-components = packages.${hciSystem}.components;
|
|
||||||
squiggle-components-lint = checks.${hciSystem}.components-lint;
|
|
||||||
squiggle-components-storybook = packages.${hciSystem}.storybook;
|
|
||||||
};
|
|
||||||
docs-site.outputs = {
|
|
||||||
squiggle-website = packages.${hciSystem}.docs-site;
|
|
||||||
docusaurus-lint = checks.${hciSystem}.docusaurus-lint;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
with pkgs;
|
with pkgs;
|
||||||
{
|
{
|
||||||
shell = pkgs.mkShell {
|
shell = mkShell {
|
||||||
name = "SQUIGGLE_yarn-wasm-devshell";
|
name = "SQUIGGLE_yarn-wasm-devshell";
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ wasm-pack cargo yarn nodejs rustup pkg-config openssl nixfmt ];
|
[ wasm-pack cargo yarn nodejs rustup pkg-config openssl nixfmt ];
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
{ pkgs, common, lang }:
|
{ pkgs, commonFn, langFn }:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
common = commonFn pkgs;
|
||||||
|
lang = langFn pkgs;
|
||||||
componentsPackageJson = let
|
componentsPackageJson = let
|
||||||
raw = pkgs.lib.importJSON ./packages/components/package.json;
|
raw = pkgs.lib.importJSON ../packages/components/package.json;
|
||||||
modified =
|
modified =
|
||||||
pkgs.lib.recursiveUpdate raw { dependencies.react-dom = "^18.2.0"; };
|
pkgs.lib.recursiveUpdate raw { dependencies.react-dom = "^18.2.0"; };
|
||||||
packageJsonString = builtins.toJSON modified;
|
packageJsonString = builtins.toJSON modified;
|
||||||
|
@ -11,9 +13,9 @@ rec {
|
||||||
components-yarnPackage = pkgs.mkYarnPackage {
|
components-yarnPackage = pkgs.mkYarnPackage {
|
||||||
name = "squiggle-components_source";
|
name = "squiggle-components_source";
|
||||||
buildInputs = common.buildInputs;
|
buildInputs = common.buildInputs;
|
||||||
src = ./packages/components;
|
src = ../packages/components;
|
||||||
packageJSON = componentsPackageJson;
|
packageJSON = componentsPackageJson;
|
||||||
yarnLock = ./yarn.lock;
|
yarnLock = ../yarn.lock;
|
||||||
packageResolutions."@quri/squiggle-lang" = lang.lang-build;
|
packageResolutions."@quri/squiggle-lang" = lang.lang-build;
|
||||||
};
|
};
|
||||||
components-lint = pkgs.stdenv.mkDerivation {
|
components-lint = pkgs.stdenv.mkDerivation {
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
{ system, pkgs, common, gentype }:
|
{ pkgs, commonFn, gentype }:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
common = commonFn pkgs;
|
||||||
# packages in subrepos
|
# packages in subrepos
|
||||||
lang-yarnPackage = pkgs.mkYarnPackage {
|
lang-yarnPackage = pkgs.mkYarnPackage {
|
||||||
name = "squiggle-lang_source";
|
name = "squiggle-lang_source";
|
||||||
src = ./packages/squiggle-lang;
|
src = ../packages/squiggle-lang;
|
||||||
packageJSON = ./packages/squiggle-lang/package.json;
|
packageJSON = ../packages/squiggle-lang/package.json;
|
||||||
yarnLock = ./yarn.lock;
|
yarnLock = ../yarn.lock;
|
||||||
# extraBuildInputs = prettierCommon;
|
# extraBuildInputs = prettierCommon;
|
||||||
pkgConfig = {
|
pkgConfig = {
|
||||||
rescript = {
|
rescript = {
|
||||||
|
@ -36,7 +37,7 @@ rec {
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv gentype.exe ELFLESS-gentype.exe
|
mv gentype.exe ELFLESS-gentype.exe
|
||||||
cp ${
|
cp ${
|
||||||
gentype.outputs.defaultPackage."${system}"
|
gentype.outputs.defaultPackage."${pkgs.system}"
|
||||||
}/GenType.exe gentype.exe
|
}/GenType.exe gentype.exe
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
{ pkgs, common, lang, components }:
|
{ pkgs, commonFn, langFn, componentsFn }:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
common = commonFn pkgs;
|
||||||
|
lang = langFn pkgs;
|
||||||
|
components = componentsFn pkgs;
|
||||||
websitePackageJson = let
|
websitePackageJson = let
|
||||||
raw = pkgs.lib.importJSON ./packages/website/package.json;
|
raw = pkgs.lib.importJSON ../packages/website/package.json;
|
||||||
modified = pkgs.lib.recursiveUpdate raw {
|
modified = pkgs.lib.recursiveUpdate raw {
|
||||||
dependencies.postcss-import = "^14.1.0";
|
dependencies.postcss-import = "^14.1.0";
|
||||||
dependencies.tailwindcss = "^3.1.8";
|
dependencies.tailwindcss = "^3.1.8";
|
||||||
|
@ -11,9 +14,9 @@ rec {
|
||||||
in pkgs.writeText "packages/website/patched-package.json" packageJsonString;
|
in pkgs.writeText "packages/website/patched-package.json" packageJsonString;
|
||||||
website-yarnPackage = pkgs.mkYarnPackage {
|
website-yarnPackage = pkgs.mkYarnPackage {
|
||||||
name = "squiggle-website_source";
|
name = "squiggle-website_source";
|
||||||
src = ./packages/website;
|
src = ../packages/website;
|
||||||
packageJSON = websitePackageJson;
|
packageJSON = websitePackageJson;
|
||||||
yarnLock = ./yarn.lock;
|
yarnLock = ../yarn.lock;
|
||||||
packageResolutions."@quri/squiggle-lang" = lang.lang-build;
|
packageResolutions."@quri/squiggle-lang" = lang.lang-build;
|
||||||
packageResolutions."@quri/squiggle-components" =
|
packageResolutions."@quri/squiggle-components" =
|
||||||
components.components-package-build;
|
components.components-package-build;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user