mirror of
https://github.com/nix-community/noogle.git
synced 2024-10-03 20:18:05 +03:00
hook legacy data in ui build
This commit is contained in:
parent
845691b8b5
commit
bc4c5d81b9
16
flake.lock
16
flake.lock
@ -186,6 +186,21 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1701287633,
|
||||
"narHash": "sha256-F0V7p4hXvubyF9vhkVwB1rWGUh7bfg0IC9GM7ID1FQM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c01cd06afc2e327343b047e27e172ba488d98f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "master",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-migrated": {
|
||||
"locked": {
|
||||
"lastModified": 1699884649,
|
||||
"narHash": "sha256-HF1iNm+SqZJtUgoi57Mk21jDsgeybIcopDwaNFLqexc=",
|
||||
@ -280,6 +295,7 @@
|
||||
"nix": "nix",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nixpkgs-migrated": "nixpkgs-migrated",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
}
|
||||
|
@ -2,7 +2,8 @@
|
||||
description = "Noogle.dev | Discover the nix api surface";
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
nixpkgs-master.url = "github:hsjobeki/nixpkgs/?ref=migrate-doc-comments";
|
||||
nixpkgs-master.url = "nixpkgs/master";
|
||||
nixpkgs-migrated.url = "github:hsjobeki/nixpkgs/?ref=migrate-doc-comments";
|
||||
|
||||
# A custom nix verison, to introspect lambda values.
|
||||
nix.url = "github:hsjobeki/nix/?ref=feat/positions";
|
||||
@ -33,6 +34,9 @@
|
||||
./website/flake-module.nix
|
||||
./pasta/flake-module.nix
|
||||
./pesto/flake-module.nix
|
||||
# Deprecated. Will be removed.
|
||||
./indexer/flake-module.nix
|
||||
./scripts/flake-module.nix
|
||||
];
|
||||
});
|
||||
}
|
||||
|
65
indexer/flake-module.nix
Normal file
65
indexer/flake-module.nix
Normal file
@ -0,0 +1,65 @@
|
||||
{ inputs, ... }: {
|
||||
perSystem = { self', inputs', pkgs, system, ... }:
|
||||
let
|
||||
craneLib = inputs.crane.lib.${system};
|
||||
src = craneLib.cleanCargoSource (craneLib.path ./.);
|
||||
|
||||
commonArgs = {
|
||||
inherit src;
|
||||
strictDeps = true;
|
||||
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
|
||||
};
|
||||
|
||||
indexer = craneLib.buildPackage commonArgs;
|
||||
checks = {
|
||||
inherit indexer;
|
||||
indexer-clippy = craneLib.cargoClippy (commonArgs // {
|
||||
cargoClippyExtraArgs = "--all-targets -- --deny warnings";
|
||||
});
|
||||
indexer-fmt = craneLib.cargoFmt { inherit src; };
|
||||
indexer-nextest = craneLib.cargoNextest (commonArgs // {
|
||||
partitions = 1;
|
||||
partitionType = "count";
|
||||
});
|
||||
};
|
||||
nixpkgs-data = pkgs.stdenv.mkDerivation {
|
||||
pname = "data";
|
||||
version = "0.1.0";
|
||||
description = ''
|
||||
wrapper around the indexer.
|
||||
|
||||
Calls the indexer with '<nixpkgs>'/path.
|
||||
and defines one output for every specified input path
|
||||
|
||||
currently this list is manually maintained below.
|
||||
'';
|
||||
src = inputs.nixpkgs-master;
|
||||
outputs = [ "out" "lib" "trivial_builders" "build_support" ];
|
||||
nativeBuildInputs = [ indexer ];
|
||||
buildPhase = ''
|
||||
echo "running nix metadata collect in nixpkgs/lib"
|
||||
${indexer}/bin/indexer --dir ./lib
|
||||
${indexer}/bin/indexer --dir ./pkgs/build-support/trivial-builders
|
||||
${indexer}/bin/indexer --dir ./pkgs/build-support
|
||||
'';
|
||||
installPhase = ''
|
||||
cat lib.json > $lib
|
||||
cat trivial-builders.json > $trivial_builders
|
||||
cat build-support.json > $build_support
|
||||
|
||||
mkdir $out
|
||||
ln -s $lib $out/lib
|
||||
ln -s $trivial_builders $out/trivial_builders
|
||||
ln -s $build_support $out/build_support
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = { inherit indexer nixpkgs-data; };
|
||||
inherit checks;
|
||||
devShells.indexer = craneLib.devShell {
|
||||
# Inherit inputs from checks.
|
||||
inherit checks;
|
||||
};
|
||||
};
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
perSystem = { self', inputs', pkgs, ... }:
|
||||
let
|
||||
nix = inputs'.nix.packages.nix-clangStdenv;
|
||||
nixpkgs = inputs.nixpkgs-master;
|
||||
nixpkgs = inputs.nixpkgs-migrated;
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
|
@ -19,11 +19,10 @@
|
||||
treefmt.enable = true;
|
||||
statix.enable = true;
|
||||
};
|
||||
excludes = [ "indexer/test" ".github" "scripts/data" ];
|
||||
excludes = [ "indexer/test" ".github" "scripts/data" "test_data" ];
|
||||
settings = {
|
||||
statix.ignore = [ "indexer/test" ];
|
||||
statix.ignore = [ "indexer/test" "test_data" ];
|
||||
nixfmt.width = 80;
|
||||
|
||||
treefmt.package = pkgs.writeShellApplication {
|
||||
name = "treefmt";
|
||||
runtimeInputs =
|
||||
|
10
scripts/.envrc
Normal file
10
scripts/.envrc
Normal file
@ -0,0 +1,10 @@
|
||||
source_up
|
||||
|
||||
files=(../../flake.nix flake-module.nix package.json)
|
||||
if type nix_direnv_watch_file &>/dev/null; then
|
||||
nix_direnv_watch_file "${files[@]}"
|
||||
else
|
||||
watch_file "${files[@]}"
|
||||
fi
|
||||
|
||||
use flake .#builtins-data --builders ''
|
25
scripts/flake-module.nix
Normal file
25
scripts/flake-module.nix
Normal file
@ -0,0 +1,25 @@
|
||||
_: {
|
||||
perSystem = { self', inputs', pkgs, ... }:
|
||||
let
|
||||
builtins-data = pkgs.stdenv.mkDerivation {
|
||||
pname = "builtins-data";
|
||||
version = "0.1.0";
|
||||
src = ./.;
|
||||
nativeBuildInputs = [ pkgs.nodejs_20 ];
|
||||
buildPhase = ''
|
||||
npm run build
|
||||
'';
|
||||
installPhase = ''
|
||||
cat data.json > $out
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
inherit builtins-data;
|
||||
};
|
||||
devShells.builtins-data = pkgs.mkShell {
|
||||
inputsFrom = [ builtins-data ];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
[formatter.nix]
|
||||
command = "nixpkgs-fmt"
|
||||
includes = ["*.nix"]
|
||||
excludes = ["pesto/test_data/*.nix"]
|
||||
excludes = ["*/test_data/*"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ floco, system, pkgs, nooglePkgs }:
|
||||
{ floco, system, pkgs, hooks }:
|
||||
let
|
||||
|
||||
inherit (floco) lib;
|
||||
@ -27,7 +27,7 @@ let
|
||||
}
|
||||
./nix/floco-cfg.nix
|
||||
];
|
||||
specialArgs = { inherit pkgs nooglePkgs; };
|
||||
specialArgs = { inherit pkgs hooks; };
|
||||
};
|
||||
|
||||
# This attrset holds a few derivations related to our package.
|
||||
|
@ -2,17 +2,23 @@
|
||||
perSystem = { self', pkgs, ... }:
|
||||
let
|
||||
inherit (self.inputs) floco;
|
||||
hooks = {
|
||||
prepare = prefix: ''
|
||||
cp -f ${self'.packages.nixpkgs-data.lib} ${prefix}/lib.json
|
||||
cp -f ${self'.packages.nixpkgs-data.trivial_builders} ${prefix}/trivial-builders.json
|
||||
cp -f ${self'.packages.nixpkgs-data.build_support} ${prefix}/build_support.json
|
||||
cp -f ${self'.packages.builtins-data} ${prefix}/builtins.json
|
||||
'';
|
||||
};
|
||||
base = pkgs.callPackage ./default.nix {
|
||||
inherit floco;
|
||||
nooglePkgs = self'.packages;
|
||||
inherit floco hooks;
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = { ui = base.pkg.global; };
|
||||
devShells.ui = pkgs.callPackage ./shell.nix {
|
||||
inherit pkgs;
|
||||
inherit pkgs hooks;
|
||||
inherit (base) fmod pkg;
|
||||
nooglePkgs = self'.packages;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
import { MetaData } from "../nix";
|
||||
// import nixLibs from "./lib.json";
|
||||
// import nixBuiltins from "./builtins.json";
|
||||
// import nixTrivialBuilders from "./trivial-builders.json";
|
||||
const mock = {
|
||||
id: "mock",
|
||||
category: "mock",
|
||||
name: "mock",
|
||||
fn_type: null,
|
||||
description: "No data yet in dev mode",
|
||||
example: null,
|
||||
line: null,
|
||||
};
|
||||
import nixBuiltins from "./builtins.json";
|
||||
import nixLibs from "./lib.json";
|
||||
import nixTrivialBuilders from "./trivial-builders.json";
|
||||
// const mock = {
|
||||
// id: "mock",
|
||||
// category: "mock",
|
||||
// name: "mock",
|
||||
// fn_type: null,
|
||||
// description: "No data yet in dev mode",
|
||||
// example: null,
|
||||
// line: null,
|
||||
// };
|
||||
|
||||
export const data: MetaData = [
|
||||
mock,
|
||||
// ...(nixLibs as MetaData),
|
||||
// ...(nixBuiltins as MetaData),
|
||||
// ...(nixTrivialBuilders as MetaData),
|
||||
// mock,
|
||||
...(nixLibs as MetaData),
|
||||
...(nixBuiltins as MetaData),
|
||||
...(nixTrivialBuilders as MetaData),
|
||||
].sort((a, b) => a.name.localeCompare(b.name));
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, config, ... }:
|
||||
{ lib, config, hooks, ... }:
|
||||
let
|
||||
pjs =
|
||||
let
|
||||
@ -30,8 +30,11 @@ let
|
||||
in
|
||||
{
|
||||
config.floco.packages.${ident}.${version} =
|
||||
let cfg = config.floco.packages.${ident}.${version};
|
||||
in {
|
||||
let
|
||||
cfg = config.floco.packages.${ident}.${version};
|
||||
prefix = "models/data";
|
||||
in
|
||||
{
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
# Removes any `*.nix' files as well as `node_modules/' and
|
||||
@ -45,6 +48,10 @@ in
|
||||
# nextjs chaches some stuff in $HOME
|
||||
override.preBuild = ''
|
||||
export HOME=./home
|
||||
|
||||
${hooks.prepare "models/data"}
|
||||
|
||||
ls -la models/data
|
||||
'';
|
||||
|
||||
tree =
|
||||
|
@ -1,7 +1,9 @@
|
||||
{ fmod, pkg, pkgs, ... }:
|
||||
{ fmod, pkg, pkgs, hooks, ... }:
|
||||
pkgs.mkShell {
|
||||
buildInputs = [ fmod.config.floco.settings.nodePackage ];
|
||||
shellHook = ''
|
||||
${hooks.prepare "models/data"}
|
||||
|
||||
ID=${pkg.built.tree}
|
||||
currID=$(cat .floco/.node_modules_id 2> /dev/null)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user