diff --git a/.flox/env/manifest.lock b/.flox/env/manifest.lock index 72a5a2de0d..28c7f1bc73 100644 --- a/.flox/env/manifest.lock +++ b/.flox/env/manifest.lock @@ -1,68 +1,651 @@ { "lockfile-version": 1, "manifest": { - "schema-version": "1.11.0", + "schema-version": "1.13.0", "install": { + "actionlint": { + "pkg-path": "actionlint", + "pkg-group": "actionlint", + "version": "1.7.12" + }, + "diffutils": { + "pkg-path": "diffutils" + }, + "findutils": { + "pkg-path": "findutils" + }, + "fnm": { + "pkg-path": "fnm", + "pkg-group": "node" + }, + "gnumake": { + "pkg-path": "gnumake" + }, "gnutar": { "pkg-path": "gnutar" }, + "gum": { + "pkg-path": "gum" + }, + "helm-docs": { + "pkg-path": "helm-docs", + "pkg-group": "helm-docs", + "version": "1.14.2" + }, + "kubeconform": { + "pkg-path": "kubeconform", + "pkg-group": "kubeconform", + "version": "0.6.7" + }, + "kubernetes-helm": { + "pkg-path": "kubernetes-helm", + "pkg-group": "kubernetes-helm", + "version": "4.2.3" + }, "open-policy-agent": { "pkg-path": "open-policy-agent", - "pkg-group": "tools", + "pkg-group": "open-policy-agent", "version": "1.8.0" }, "osv-scanner": { "pkg-path": "osv-scanner", - "pkg-group": "tools" + "pkg-group": "osv-scanner", + "version": "2.3.3" }, - "python3": { - "pkg-path": "python3" + "shellcheck": { + "pkg-path": "shellcheck", + "pkg-group": "actionlint", + "version": "0.11.0" }, "uv": { "pkg-path": "uv", - "version": "~0.9" + "pkg-group": "uv", + "version": ">=0.9.14,<0.10.0" + }, + "yq-go": { + "pkg-path": "yq-go" } }, - "hook": {}, - "profile": {}, - "options": {} + "vars": { + "ALIGN": "center", + "BORDER": "double", + "BORDER_FOREGROUND": "514", + "FNM_DIR": "${FLOX_ENV_CACHE}/fnm", + "FNM_VERSION_FILE_STRATEGY": "recursive", + "FOREGROUND": "514", + "GUM_LOG_MESSAGE_FOREGROUND": "514", + "MARGIN": "1 2", + "NPM_CONFIG_STORE_DIR": "${FLOX_ENV_CACHE}/npm-cache", + "PADDING": "1 2", + "UV_CACHE_DIR": "${FLOX_ENV_CACHE}/uv-cache", + "UV_MANAGED_PYTHON": "1", + "UV_PYTHON": "3.13", + "UV_PYTHON_INSTALL_DIR": "${FLOX_ENV_CACHE}/python", + "UV_VENV_SEED": "1", + "WIDTH": "50" + }, + "hook": { + "on-activate": " set -euo pipefail\n\n echo \"Python Setup... Starting\"\n uv sync --frozen --all-packages\n echo \"Python Setup... Complete\"\n\n set -euo pipefail\n\n echo \"NodeJS Setup... Starting\"\n echo \"Current Directory: $(pwd)\"\n\n eval \"$(fnm env --shell bash)\"\n fnm install --use --corepack-enabled\n corepack enable\n\n package_manager=\"$(node -p \"require('./web/package.json').packageManager\")\"\n corepack prepare \"${package_manager}\" --activate\n CI=true pnpm install -C \"./web\" --frozen-lockfile\n\n echo \"NodeJS Setup... Complete\"\n" + }, + "profile": { + "common": " test -f .git/hooks/pre-commit || pre-commit install\n\n gum style \"NeMo Platform\"\n", + "bash": " source .venv/bin/activate\n\n eval \"$(fnm env --shell bash --use-on-cd --version-file-strategy=recursive)\"\n", + "zsh": " source .venv/bin/activate\n\n eval \"$(fnm env --shell zsh --use-on-cd --version-file-strategy=recursive)\"\n", + "fish": " set -gx VIRTUAL_ENV \"$PWD/.venv\"\n set -gx PATH \"$VIRTUAL_ENV/bin\" $PATH\n\n fnm env --shell fish --use-on-cd --version-file-strategy=recursive | source\n" + }, + "options": { + "systems": [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-linux" + ] + } }, "packages": [ { - "attr_path": "open-policy-agent", + "attr_path": "actionlint", "broken": false, - "derivation": "/nix/store/x6pblvx2vksr0j7x1fn64za35ydpna5m-open-policy-agent-1.8.0.drv", - "description": "General-purpose policy engine", - "install_id": "open-policy-agent", + "derivation": "/nix/store/l8wgjb25mbfydzlg0r7d7jd100f2d50h-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:32.571357Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/lzmq195syay4hpqcfs2wzgjc8zb3yx3i-actionlint-1.7.12" + }, + "system": "aarch64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/d0906vbj276ajk1kk6vvr210bsbaxx5x-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:27.922478Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/8im85sv1z35jm0qr818pa2wdq8m25n4f-actionlint-1.7.12" + }, + "system": "aarch64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/jfzx0kgl59m4awj91nb1l0ck6v44kl97-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:15.104681Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/pihkd9s6gpzbq6zy6ynwqg0iif3hwfdj-actionlint-1.7.12" + }, + "system": "x86_64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/9z4iqwwmsc3f9hfkfwpl92lpcjkhvxvl-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:56:24.813680Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/wh8gg40x023xn9n0rgsil9r2l95wbavi-shellcheck-0.11.0-bin", + "doc": "/nix/store/5012amxy82f9b2d6pxyspc2sk8mprvcy-shellcheck-0.11.0-doc", + "man": "/nix/store/z6y07qmh1djgjqny0bjgyr6rhld9xwn9-shellcheck-0.11.0-man", + "out": "/nix/store/lifq4m2zckqx8la1y93sa9jbppaywk8a-shellcheck-0.11.0" + }, + "system": "aarch64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/1hxnjx2bflxndlk0k0pqwk1609qw155q-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:26:54.006132Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/9b1ggvsx71aavzf3sg1s3pkjjfl776pa-shellcheck-0.11.0-bin", + "doc": "/nix/store/4mbdk0nkfiva25q3v4j85vs91ixaix3b-shellcheck-0.11.0-doc", + "man": "/nix/store/6sgxmiifwgfpnaddg11k73p4cq71xcrn-shellcheck-0.11.0-man", + "out": "/nix/store/zgly4zva6wjzvdp6d599s552ibkwczv4-shellcheck-0.11.0" + }, + "system": "aarch64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/7v8r56jqngwqgzinbrfdg3mpygpp93c4-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T06:00:48.964411Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/9phb1flallb4fw685dlblzbqrh9qkphi-shellcheck-0.11.0-bin", + "doc": "/nix/store/8qq3p694mapmadi98dgcp4ig88lqpfq0-shellcheck-0.11.0-doc", + "man": "/nix/store/jkp411xmhm8nqvxykjzfiz303fw6sshx-shellcheck-0.11.0-man", + "out": "/nix/store/34m1q0dfl1fxsakh63678ni2qndgy8mg-shellcheck-0.11.0" + }, + "system": "x86_64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/7mqk2k7cpr23afsgprprf6kq7q4vy8hy-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:48.204473Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/iha9x252czxiz301bgnx5c1myi8m5svn-helm-docs-1.14.2" + }, + "system": "aarch64-darwin", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/4847v98n0ramlrq4c32lsfq1w9ilvb48-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:47.538683Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/mc3ga2xrd565cwk39bm244q0fy5ffs0h-helm-docs-1.14.2" + }, + "system": "aarch64-linux", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/vjz01lzipwr78dzxv74vq70kk8s50cj3-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:35.510453Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/3bhjb3ac35ma6ahcabiczd156aw4bspq-helm-docs-1.14.2" + }, + "system": "x86_64-linux", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/9s4snw6sv1rxkppb2vh77mfx8y8w3dk0-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", "license": "Apache-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", - "name": "open-policy-agent-1.8.0", - "pname": "open-policy-agent", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", - "rev_count": 866707, - "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T03:42:58.943863Z", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T04:19:29.834897Z", "stabilities": [ - "unstable", "staging", - "stable" + "unstable" ], "unfree": false, - "version": "1.8.0", + "version": "0.6.7", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/28vvl32vygjxdalfprxjqvnwpbsp2j7i-open-policy-agent-1.8.0" + "out": "/nix/store/39nyhvxm0fj2bqpy1hb0wp1mj6drgw6k-kubeconform-0.6.7" + }, + "system": "aarch64-darwin", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/lq4z544sl9s1g771v8si3pa54zk39x4h-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T04:37:22.795766Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.6.7", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/dl336sgplkl83x7hgq9vchnwia92rllx-kubeconform-0.6.7" + }, + "system": "aarch64-linux", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/7sn96dgwl0lkghawlg88557cr9nr88y4-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T05:15:57.921277Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.6.7", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/8cmvaf9s4h36rz1464kwwn5a9pifgf56-kubeconform-0.6.7" + }, + "system": "x86_64-linux", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/3629kpfnbcgcv7dxgwm5pv353pvk3cg0-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:50.426853Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/pskv3khyizrc09rnqrp6d0wn5pllripx-kubernetes-helm-4.2.3" + }, + "system": "aarch64-darwin", + "group": "kubernetes-helm", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/lg5as7r9cawfrsb95in15rj56qq1mq17-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:51.647377Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/k99lgyz9k814kr389jirpim37nqpi7qp-kubernetes-helm-4.2.3" + }, + "system": "aarch64-linux", + "group": "kubernetes-helm", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/7w6nz7jqjz6a9q1l2qd4cdl01jjcrwvd-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:39.899607Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/n1rbyfp9sn0r0gzx4z9lniisiad9h5yq-kubernetes-helm-4.2.3" + }, + "system": "x86_64-linux", + "group": "kubernetes-helm", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/vzn629ysil2gfl70ywqn70083ad8ybzj-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:33.754497Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/8cr5r5cyv72vj61ssk60gragvmdn8mw8-fnm-1.39.0" }, "system": "aarch64-darwin", - "group": "tools", + "group": "node", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/qk0n2489mjkkb0z3swvg7xv66yabs0c2-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:29.513507Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/i1ziwqn5kp94jnffphj6pf1srqx7g67f-fnm-1.39.0" + }, + "system": "aarch64-linux", + "group": "node", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/fz4ibl50d3r3irhdfz37afk4vk9vvf47-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:16.880398Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/fb6q7d45phva2fxclv61a6h62q5n631h-fnm-1.39.0" + }, + "system": "x86_64-linux", + "group": "node", "priority": 5 }, { "attr_path": "open-policy-agent", "broken": false, - "derivation": "/nix/store/07baqszwy9ldr487q9z6svwcsn7d73px-open-policy-agent-1.8.0.drv", + "derivation": "/nix/store/x6pblvx2vksr0j7x1fn64za35ydpna5m-open-policy-agent-1.8.0.drv", "description": "General-purpose policy engine", "install_id": "open-policy-agent", "license": "Apache-2.0", @@ -72,11 +655,11 @@ "rev": "e643668fd71b949c53f8626614b21ff71a07379d", "rev_count": 866707, "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T04:12:13.305775Z", + "scrape_date": "2025-09-26T03:42:58.943863Z", "stabilities": [ - "unstable", + "stable", "staging", - "stable" + "unstable" ], "unfree": false, "version": "1.8.0", @@ -84,16 +667,16 @@ "out" ], "outputs": { - "out": "/nix/store/i98fklmmf7xcqlmm1hdzkcw4wvyf92my-open-policy-agent-1.8.0" + "out": "/nix/store/28vvl32vygjxdalfprxjqvnwpbsp2j7i-open-policy-agent-1.8.0" }, - "system": "aarch64-linux", - "group": "tools", + "system": "aarch64-darwin", + "group": "open-policy-agent", "priority": 5 }, { "attr_path": "open-policy-agent", "broken": false, - "derivation": "/nix/store/x7smjn0d496p62ckf6jcvp0i4qb9gzqv-open-policy-agent-1.8.0.drv", + "derivation": "/nix/store/07baqszwy9ldr487q9z6svwcsn7d73px-open-policy-agent-1.8.0.drv", "description": "General-purpose policy engine", "install_id": "open-policy-agent", "license": "Apache-2.0", @@ -103,11 +686,11 @@ "rev": "e643668fd71b949c53f8626614b21ff71a07379d", "rev_count": 866707, "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T04:39:57.100020Z", + "scrape_date": "2025-09-26T04:12:13.305775Z", "stabilities": [ - "unstable", + "stable", "staging", - "stable" + "unstable" ], "unfree": false, "version": "1.8.0", @@ -115,10 +698,10 @@ "out" ], "outputs": { - "out": "/nix/store/mby5spqsadnhrbdc20h01b5fbf7938vl-open-policy-agent-1.8.0" + "out": "/nix/store/i98fklmmf7xcqlmm1hdzkcw4wvyf92my-open-policy-agent-1.8.0" }, - "system": "x86_64-darwin", - "group": "tools", + "system": "aarch64-linux", + "group": "open-policy-agent", "priority": 5 }, { @@ -136,9 +719,9 @@ "rev_date": "2025-09-24T05:06:22Z", "scrape_date": "2025-09-26T05:11:19.422384Z", "stabilities": [ - "unstable", + "stable", "staging", - "stable" + "unstable" ], "unfree": false, "version": "1.8.0", @@ -149,443 +732,648 @@ "out": "/nix/store/v3nqh59l69bpq739pa2amj427h1isc5d-open-policy-agent-1.8.0" }, "system": "x86_64-linux", - "group": "tools", + "group": "open-policy-agent", "priority": 5 }, { "attr_path": "osv-scanner", "broken": false, - "derivation": "/nix/store/2ddz5rl2cg9nfpy2465fbwcrpd34l1yh-osv-scanner-2.2.2.drv", + "derivation": "/nix/store/qsxf0z52hwzxj73hjkibphy885zvfgvq-osv-scanner-2.3.3.drv", "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", "install_id": "osv-scanner", "license": "Apache-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", - "name": "osv-scanner-2.2.2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "osv-scanner-2.3.3", "pname": "osv-scanner", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", - "rev_count": 866707, - "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T03:42:59.393464Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:55:02.700665Z", "stabilities": [ - "unstable", - "staging", - "stable" + "unstable" ], "unfree": false, - "version": "2.2.2", + "version": "2.3.3", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/26wh6j075c2ja715gin101n3vic20g92-osv-scanner-2.2.2" + "out": "/nix/store/xb407dwimxp8a1blrml6ywif2ghvh7f3-osv-scanner-2.3.3" }, "system": "aarch64-darwin", - "group": "tools", + "group": "osv-scanner", "priority": 5 }, { "attr_path": "osv-scanner", "broken": false, - "derivation": "/nix/store/2mv1gpg13bjisqdr1jiybpr5y2kql4hv-osv-scanner-2.2.2.drv", + "derivation": "/nix/store/8h52lcfwc0vdz8vmrclc3n346hm5lprj-osv-scanner-2.3.3.drv", "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", "install_id": "osv-scanner", "license": "Apache-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", - "name": "osv-scanner-2.2.2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "osv-scanner-2.3.3", "pname": "osv-scanner", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", - "rev_count": 866707, - "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T04:12:14.182935Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:25:13.558795Z", "stabilities": [ - "unstable", - "staging", - "stable" + "unstable" ], "unfree": false, - "version": "2.2.2", + "version": "2.3.3", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/3bn0dv4wba1jkz3x61jxfyavk75yj8yp-osv-scanner-2.2.2" + "out": "/nix/store/jhyrcnykva2j188isan381i1pmk86mz0-osv-scanner-2.3.3" }, "system": "aarch64-linux", - "group": "tools", + "group": "osv-scanner", "priority": 5 }, { "attr_path": "osv-scanner", "broken": false, - "derivation": "/nix/store/a9d5nlnbvl0yaw75x9dr1p753dqwl7ss-osv-scanner-2.2.2.drv", + "derivation": "/nix/store/mdknv574k14jsm8sr3bmdj1dpa1gi3p7-osv-scanner-2.3.3.drv", "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", "install_id": "osv-scanner", "license": "Apache-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", - "name": "osv-scanner-2.2.2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "osv-scanner-2.3.3", "pname": "osv-scanner", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", - "rev_count": 866707, - "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T04:39:57.558517Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:59:02.781860Z", "stabilities": [ - "unstable", - "staging", - "stable" + "unstable" ], "unfree": false, - "version": "2.2.2", + "version": "2.3.3", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/mivgza1fjrcg1mzlp4868lfg8a1fr051-osv-scanner-2.2.2" + "out": "/nix/store/wbiwki082a5bzyaabz1ygfz043pnrdp4-osv-scanner-2.3.3" }, - "system": "x86_64-darwin", - "group": "tools", + "system": "x86_64-linux", + "group": "osv-scanner", "priority": 5 }, { - "attr_path": "osv-scanner", + "attr_path": "diffutils", "broken": false, - "derivation": "/nix/store/hhrm279m6xlr10hh4xhxmhznqnb1kvp4-osv-scanner-2.2.2.drv", - "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", - "install_id": "osv-scanner", - "license": "Apache-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", - "name": "osv-scanner-2.2.2", - "pname": "osv-scanner", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", - "rev_count": 866707, - "rev_date": "2025-09-24T05:06:22Z", - "scrape_date": "2025-09-26T05:11:20.395916Z", + "derivation": "/nix/store/s922673g28c76xwxcmm9pa92sd7ih1zw-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:33.335636Z", "stabilities": [ - "unstable", - "staging", - "stable" + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/8mnr14i9nagwy7zq7idpnxmbn713vzp5-diffutils-3.12-info", + "out": "/nix/store/rbwynbh99a00f23xbha5wqj5p8ry50fs-diffutils-3.12" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/aqi2hpkam0nxfi2d0l0cnlml9w9afjj7-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:28.873784Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/v1w1ykabd35wwys2ahdmsf4h5bpgslvm-diffutils-3.12-info", + "out": "/nix/store/bblvy0gjfa9sqml9nzmbh90daw7815z4-diffutils-3.12" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/06438zgfisg275d64b8bm4dil8wsgyyf-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:16.159239Z", + "stabilities": [ + "unstable" ], "unfree": false, - "version": "2.2.2", + "version": "3.12", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/dwj2i6qhz1pv0331h704swc656fhhbjs-osv-scanner-2.2.2" + "info": "/nix/store/rzwh5diw4wq51z8h2v0g0g63nwqw1zq8-diffutils-3.12-info", + "out": "/nix/store/ib2z0l0fbm3p1iqw4r79i0h2qca0qgwm-diffutils-3.12" }, "system": "x86_64-linux", - "group": "tools", + "group": "toplevel", "priority": 5 }, { - "attr_path": "gnutar", + "attr_path": "findutils", "broken": false, - "derivation": "/nix/store/srhxmpzbdjkzx49sxfv4gdgik8hjpb3l-gnutar-1.35.drv", - "description": "GNU implementation of the `tar' archiver", - "install_id": "gnutar", + "derivation": "/nix/store/2bv0zi4clx7lw8dv93irvcsq8ivnr9ll-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", "license": "GPL-3.0-or-later", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "gnutar-1.35", - "pname": "gnutar", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T04:35:55.625459Z", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:33.689300Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "1.35", + "version": "4.10.0", "outputs_to_install": [ - "out", - "out", "out" ], "outputs": { - "info": "/nix/store/vmm74jf3h3h4w8kz0bnk6vgn0ixyfyyk-gnutar-1.35-info", - "out": "/nix/store/4jhz97mvip61gn146avpanb60glazgz4-gnutar-1.35" + "info": "/nix/store/8h41dg3igjy9llr78qq1kkr0m6lzk991-findutils-4.10.0-info", + "locate": "/nix/store/kbd6bkcc6qraf7zf5jiz4kaf13aw8jv1-findutils-4.10.0-locate", + "out": "/nix/store/7p057vk9y6a1k665r9bc2bjxgqy456hg-findutils-4.10.0" }, "system": "aarch64-darwin", "group": "toplevel", "priority": 5 }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/w9x12ayhi1i7z705fwab60a2ws46wm6k-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:29.407796Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/l2m8dqn962m2n193bxx4mk20gclp6dbv-findutils-4.10.0-info", + "locate": "/nix/store/kf3y536x84wmyr7k21ns77i0d8nlndlc-findutils-4.10.0-locate", + "out": "/nix/store/47s1v9jk5hp88jwkkad6fzsyzq4hasla-findutils-4.10.0" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/g2hzv7byfzyv27hniiypjdrhkrlcdzhm-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:16.766266Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/w3rs6ifakwvr7gils096dd9jna3rz02i-findutils-4.10.0-info", + "locate": "/nix/store/w0bj92hi90rbynfcry2b5rlcxmaxyggy-findutils-4.10.0-locate", + "out": "/nix/store/m1p6gxgxis75rn0d549ny2y8gpxjv9pd-findutils-4.10.0" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/8bhfhg9yz7p4l8zmyqrb67b08y631ihc-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:34.121636Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "doc": "/nix/store/rdwb8d7iv8j5vp5pdx9lbqjr6wk0ydji-gnumake-4.4.1-doc", + "info": "/nix/store/0ncajy1b1wgyy5jxm6fxlm7wbblsvc05-gnumake-4.4.1-info", + "man": "/nix/store/byj13qf46ib7xk4zfvk3k5w8r34z9mf2-gnumake-4.4.1-man", + "out": "/nix/store/7f7x81x6vb8kva42skn921d3ga2w0qap-gnumake-4.4.1" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/18yfg0l23y2f7w2wz6h4p3jiy6i7ycbf-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:30.624261Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "debug": "/nix/store/m4d49zx7zfgv1sdd7zg5zzsinaccyfk6-gnumake-4.4.1-debug", + "doc": "/nix/store/p7p13ajir7nw802nf7rvdhray70l4lnj-gnumake-4.4.1-doc", + "info": "/nix/store/0b0bys1xj58mjnwk2iicqa2sv55z4ac2-gnumake-4.4.1-info", + "man": "/nix/store/7qbsp83ianzwbhzsgwx8yv832n4a1kkx-gnumake-4.4.1-man", + "out": "/nix/store/qdh1xpknc0ys6m46gi4p2qcyyryc8pv0-gnumake-4.4.1" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/xffycr4zy4kb00rgs8iad7xw8inb68p3-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:18.096266Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "debug": "/nix/store/gq4akpk5dfabh9q7bdnd95r1g8hv9qgs-gnumake-4.4.1-debug", + "doc": "/nix/store/bdv51k4qj1vvkw0knk0p6kv4zjs6vzqy-gnumake-4.4.1-doc", + "info": "/nix/store/vznzsnngs0fydqvrdb71xmfry1zxz0h2-gnumake-4.4.1-info", + "man": "/nix/store/ndm1zqm8a3bvbh3ybhnncda9i27ip13f-gnumake-4.4.1-man", + "out": "/nix/store/66x1qiph890315003f27a15xsqax6lwf-gnumake-4.4.1" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, { "attr_path": "gnutar", "broken": false, - "derivation": "/nix/store/9hzp7c9vng5dc9x747bspkvbmcsab11g-gnutar-1.35.drv", - "description": "GNU implementation of the `tar' archiver", + "derivation": "/nix/store/qi2mqp76p6l1vlbgjhljmxpjcr0wk2am-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", "install_id": "gnutar", "license": "GPL-3.0-or-later", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", "name": "gnutar-1.35", "pname": "gnutar", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:05:24.904605Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:34.130590Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, "version": "1.35", "outputs_to_install": [ - "out", - "out", - "out", "out" ], "outputs": { - "info": "/nix/store/chjh1afhyda3vli9lwnfaiz39pb7n39p-gnutar-1.35-info", - "out": "/nix/store/p83mlijcdg429fj17frdcxv7jj9jnsqv-gnutar-1.35" + "info": "/nix/store/hwx86saxirjrn6gjw3p2rq70s1kc79nj-gnutar-1.35-info", + "out": "/nix/store/33a9ksqprc9ry40c2gxw8fz1yc3ssahk-gnutar-1.35" }, - "system": "aarch64-linux", + "system": "aarch64-darwin", "group": "toplevel", "priority": 5 }, { "attr_path": "gnutar", "broken": false, - "derivation": "/nix/store/rg7qpn90a3ijqj1i2fq9m0jy6sqy0jq6-gnutar-1.35.drv", - "description": "GNU implementation of the `tar' archiver", + "derivation": "/nix/store/777wz9r3sdwqv0gsgix6dsk0j0xq6l58-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", "install_id": "gnutar", "license": "GPL-3.0-or-later", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", "name": "gnutar-1.35", "pname": "gnutar", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:33:33.880310Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:30.638083Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, "version": "1.35", "outputs_to_install": [ - "out", "out" ], "outputs": { - "info": "/nix/store/kyc01mpv5sizdndi7w7b3ks2gq9s6bcz-gnutar-1.35-info", - "out": "/nix/store/s3pyki0jss8gkxa935xwc4hzh93ly2z6-gnutar-1.35" + "info": "/nix/store/dgy56x9qq4ac8ilfw9jy7dh5051ikhwy-gnutar-1.35-info", + "out": "/nix/store/7sw1d6d7kv88ppd02s3fwjmrjvf3gn1i-gnutar-1.35" }, - "system": "x86_64-darwin", + "system": "aarch64-linux", "group": "toplevel", "priority": 5 }, { "attr_path": "gnutar", "broken": false, - "derivation": "/nix/store/zs2p03ld9jhdx4wrdi8qk9adl9crkb3v-gnutar-1.35.drv", - "description": "GNU implementation of the `tar' archiver", + "derivation": "/nix/store/frplv4ziprj2f0cs9w8hvjkkg1ciczbj-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", "install_id": "gnutar", "license": "GPL-3.0-or-later", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", "name": "gnutar-1.35", "pname": "gnutar", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T06:05:47.954880Z", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:18.111380Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, "version": "1.35", "outputs_to_install": [ - "out", - "out", - "out", - "out", - "out", - "out", - "out", "out" ], "outputs": { - "info": "/nix/store/ax6j94gib9m7ni9pfv3qmm5l8fi1hlz2-gnutar-1.35-info", - "out": "/nix/store/qyg62bc2xnpwz0fa9prqxvvk00zj4g9q-gnutar-1.35" + "info": "/nix/store/0jy4jmmbr8kqmknamddmm720ij8yql4d-gnutar-1.35-info", + "out": "/nix/store/lmbgk78d524491njr3mj0yyhwjfpgjfb-gnutar-1.35" }, "system": "x86_64-linux", "group": "toplevel", "priority": 5 }, { - "attr_path": "python3", + "attr_path": "gum", "broken": false, - "derivation": "/nix/store/2f9f2hcw24ncf86i63v9apf9s0k2fgyz-python3-3.13.11.drv", - "description": "High-level dynamically-typed programming language", - "install_id": "python3", - "license": "Python-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "python3-3.13.11", - "pname": "python3", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T04:36:33.164594Z", + "derivation": "/nix/store/0s8pmz2v6zlgfjzfqashmwg01wm7kp5c-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:54:34.364074Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "3.13.11", + "version": "0.17.0", "outputs_to_install": [ - "out", - "out", - "out", - "out", - "out", "out" ], "outputs": { - "out": "/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11" + "out": "/nix/store/aw147lca29c11gd3m53j1x5fpq7gf8yd-gum-0.17.0" }, "system": "aarch64-darwin", "group": "toplevel", "priority": 5 }, { - "attr_path": "python3", + "attr_path": "gum", "broken": false, - "derivation": "/nix/store/cadmaxzh2h1i0id6zfa5zq0mjpr9qqda-python3-3.13.11.drv", - "description": "High-level dynamically-typed programming language", - "install_id": "python3", - "license": "Python-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "python3-3.13.11", - "pname": "python3", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:06:19.681973Z", + "derivation": "/nix/store/4019y0vw1cjnj952xjgzqwg91hk9ngvm-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:24:31.021381Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "3.13.11", + "version": "0.17.0", "outputs_to_install": [ - "out", - "out", - "out", - "out", "out" ], "outputs": { - "debug": "/nix/store/bzb0vriv1a1kaz9zv6lzv62zkcvvm88r-python3-3.13.11-debug", - "out": "/nix/store/ygzfhw5nxrn7qqfqmz2s9p6cikcjqqkh-python3-3.13.11" + "out": "/nix/store/3x2vnw12j3npn1l45p4ssc0kadmpf7b1-gum-0.17.0" }, "system": "aarch64-linux", "group": "toplevel", "priority": 5 }, { - "attr_path": "python3", + "attr_path": "gum", "broken": false, - "derivation": "/nix/store/dk525f5vnsqf4c5m90rhm2hazww34xmx-python3-3.13.11.drv", - "description": "High-level dynamically-typed programming language", - "install_id": "python3", - "license": "Python-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "python3-3.13.11", - "pname": "python3", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:34:11.664697Z", + "derivation": "/nix/store/c9wnn771niv74ksr94gjvga7za3xh7x9-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:58:18.524315Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "3.13.11", + "version": "0.17.0", "outputs_to_install": [ - "out", - "out", "out" ], "outputs": { - "out": "/nix/store/5wy2gaa1kaskq3j63zwl1jw6a0ffllx5-python3-3.13.11" + "out": "/nix/store/p8whqn8f3fafka3wgwfba6lbzg7ld0yy-gum-0.17.0" }, - "system": "x86_64-darwin", + "system": "x86_64-linux", "group": "toplevel", "priority": 5 }, { - "attr_path": "python3", + "attr_path": "yq-go", "broken": false, - "derivation": "/nix/store/bmlsz2bfdg16dr10k8rm3hmkq09h06nr-python3-3.13.11.drv", - "description": "High-level dynamically-typed programming language", - "install_id": "python3", - "license": "Python-2.0", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "python3-3.13.11", - "pname": "python3", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T06:06:47.427720Z", + "derivation": "/nix/store/7jf0hnzazabbvjzr0f3jgh1wg5mvg6a8-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T04:57:25.210210Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "3.13.11", + "version": "4.53.3", "outputs_to_install": [ - "out", - "out", - "out", - "out", - "out", - "out", "out" ], "outputs": { - "debug": "/nix/store/gvhg8py0jr9v83ysqb86rr2s1yidppca-python3-3.13.11-debug", - "out": "/nix/store/slhpx9glq7vl99bwi93bgrhn3syv98s1-python3-3.13.11" + "out": "/nix/store/0vsha68zmnrysjsy3szkpvscqkm2qplp-yq-go-4.53.3" }, - "system": "x86_64-linux", + "system": "aarch64-darwin", "group": "toplevel", "priority": 5 }, { - "attr_path": "uv", + "attr_path": "yq-go", "broken": false, - "derivation": "/nix/store/v9837hla896n3pjv9hmx3ii4sk30p0r9-uv-0.9.28.drv", - "description": "Extremely fast Python package installer and resolver, written in Rust", - "install_id": "uv", - "license": "[ Apache-2.0, MIT ]", - "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "name": "uv-0.9.28", - "pname": "uv", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", - "rev_count": 940249, - "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T04:38:13.753987Z", + "derivation": "/nix/store/zg6h49xz37iaknldifh670s28yrcdfdd-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T05:28:14.919088Z", "stabilities": [ - "unstable", - "staging" + "unstable" ], "unfree": false, - "version": "0.9.28", + "version": "4.53.3", "outputs_to_install": [ "out" ], "outputs": { - "out": "/nix/store/rnci0wgac6r47gr09bhb6x5fyc507i43-uv-0.9.28" + "out": "/nix/store/wflw43nbb0jb7ddncklryi3yx0ai7cgf-yq-go-4.53.3" }, - "system": "aarch64-darwin", + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "yq-go", + "broken": false, + "derivation": "/nix/store/6jmjvygi3yk6mqwd0nk1jfi2iadfrzbb-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "rev_count": 1043649, + "rev_date": "2026-07-29T09:51:10Z", + "scrape_date": "2026-07-30T06:02:13.727121Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.53.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/mr1a1d7yzvg7x8vc11gj3cfiykr8wjx3-yq-go-4.53.3" + }, + "system": "x86_64-linux", "group": "toplevel", "priority": 5 }, { "attr_path": "uv", "broken": false, - "derivation": "/nix/store/dlp3p1pzksliq0pli84ff5ifbvh13211-uv-0.9.28.drv", + "derivation": "/nix/store/v9837hla896n3pjv9hmx3ii4sk30p0r9-uv-0.9.28.drv", "description": "Extremely fast Python package installer and resolver, written in Rust", "install_id": "uv", "license": "[ Apache-2.0, MIT ]", @@ -595,10 +1383,10 @@ "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "rev_count": 940249, "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:08:27.505844Z", + "scrape_date": "2026-02-06T04:38:13.753987Z", "stabilities": [ - "unstable", - "staging" + "staging", + "unstable" ], "unfree": false, "version": "0.9.28", @@ -606,16 +1394,16 @@ "out" ], "outputs": { - "out": "/nix/store/r6g6avldk8dlj30dmk2p2971akkmw9h3-uv-0.9.28" + "out": "/nix/store/rnci0wgac6r47gr09bhb6x5fyc507i43-uv-0.9.28" }, - "system": "aarch64-linux", - "group": "toplevel", + "system": "aarch64-darwin", + "group": "uv", "priority": 5 }, { "attr_path": "uv", "broken": false, - "derivation": "/nix/store/1dxxxb7ia28b4fcvn00vvc2xmal3kamm-uv-0.9.28.drv", + "derivation": "/nix/store/dlp3p1pzksliq0pli84ff5ifbvh13211-uv-0.9.28.drv", "description": "Extremely fast Python package installer and resolver, written in Rust", "install_id": "uv", "license": "[ Apache-2.0, MIT ]", @@ -625,10 +1413,10 @@ "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "rev_count": 940249, "rev_date": "2026-02-04T09:32:58Z", - "scrape_date": "2026-02-06T05:35:52.717277Z", + "scrape_date": "2026-02-06T05:08:27.505844Z", "stabilities": [ - "unstable", - "staging" + "staging", + "unstable" ], "unfree": false, "version": "0.9.28", @@ -636,10 +1424,10 @@ "out" ], "outputs": { - "out": "/nix/store/vrzvbvds4vvj5989w838m562vavqzd4w-uv-0.9.28" + "out": "/nix/store/r6g6avldk8dlj30dmk2p2971akkmw9h3-uv-0.9.28" }, - "system": "x86_64-darwin", - "group": "toplevel", + "system": "aarch64-linux", + "group": "uv", "priority": 5 }, { @@ -657,8 +1445,8 @@ "rev_date": "2026-02-04T09:32:58Z", "scrape_date": "2026-02-06T06:09:00.313627Z", "stabilities": [ - "unstable", - "staging" + "staging", + "unstable" ], "unfree": false, "version": "0.9.28", @@ -669,8 +1457,235 @@ "out": "/nix/store/jddcqyx0099mynb7gxr0dd66hkpqqs2r-uv-0.9.28" }, "system": "x86_64-linux", - "group": "toplevel", + "group": "uv", "priority": 5 } - ] + ], + "compose": { + "composer": { + "schema-version": "1.13.0", + "profile": { + "common": " test -f .git/hooks/pre-commit || pre-commit install\n\n gum style \"NeMo Platform\"\n" + }, + "options": {}, + "include": { + "environments": [ + { + "dir": "tools/common" + }, + { + "dir": "tools/helm" + }, + { + "dir": "tools/actionlint" + }, + { + "dir": "tools/python" + }, + { + "dir": "tools/nodejs" + }, + { + "dir": "tools/osv-scanner" + }, + { + "dir": "tools/open-policy-agent" + } + ] + } + }, + "include": [ + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "diffutils": { + "pkg-path": "diffutils" + }, + "findutils": { + "pkg-path": "findutils" + }, + "gnumake": { + "pkg-path": "gnumake" + }, + "gnutar": { + "pkg-path": "gnutar" + }, + "gum": { + "pkg-path": "gum" + }, + "yq-go": { + "pkg-path": "yq-go" + } + }, + "vars": { + "ALIGN": "center", + "BORDER": "double", + "BORDER_FOREGROUND": "514", + "FOREGROUND": "514", + "GUM_LOG_MESSAGE_FOREGROUND": "514", + "MARGIN": "1 2", + "PADDING": "1 2", + "WIDTH": "50" + }, + "options": {} + }, + "name": "common", + "descriptor": { + "dir": "tools/common" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "helm-docs": { + "pkg-path": "helm-docs", + "pkg-group": "helm-docs", + "version": "1.14.2" + }, + "kubeconform": { + "pkg-path": "kubeconform", + "pkg-group": "kubeconform", + "version": "0.6.7" + }, + "kubernetes-helm": { + "pkg-path": "kubernetes-helm", + "pkg-group": "kubernetes-helm", + "version": "4.2.3" + } + }, + "options": { + "systems": [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-linux" + ] + } + }, + "name": "helm", + "descriptor": { + "dir": "tools/helm" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "actionlint": { + "pkg-path": "actionlint", + "pkg-group": "actionlint", + "version": "1.7.12" + }, + "shellcheck": { + "pkg-path": "shellcheck", + "pkg-group": "actionlint", + "version": "0.11.0" + } + }, + "options": {} + }, + "name": "actionlint", + "descriptor": { + "dir": "tools/actionlint" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "uv": { + "pkg-path": "uv", + "pkg-group": "uv", + "version": ">=0.9.14,<0.10.0" + } + }, + "vars": { + "UV_CACHE_DIR": "${FLOX_ENV_CACHE}/uv-cache", + "UV_MANAGED_PYTHON": "1", + "UV_PYTHON": "3.13", + "UV_PYTHON_INSTALL_DIR": "${FLOX_ENV_CACHE}/python", + "UV_VENV_SEED": "1" + }, + "hook": { + "on-activate": " set -euo pipefail\n\n echo \"Python Setup... Starting\"\n uv sync --frozen --all-packages\n echo \"Python Setup... Complete\"\n" + }, + "profile": { + "bash": " source .venv/bin/activate\n", + "zsh": " source .venv/bin/activate\n", + "fish": " set -gx VIRTUAL_ENV \"$PWD/.venv\"\n set -gx PATH \"$VIRTUAL_ENV/bin\" $PATH\n" + }, + "options": {} + }, + "name": "nemo-platform-python", + "descriptor": { + "dir": "tools/python" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "fnm": { + "pkg-path": "fnm", + "pkg-group": "node" + } + }, + "vars": { + "FNM_DIR": "${FLOX_ENV_CACHE}/fnm", + "FNM_VERSION_FILE_STRATEGY": "recursive", + "NPM_CONFIG_STORE_DIR": "${FLOX_ENV_CACHE}/npm-cache" + }, + "hook": { + "on-activate": " set -euo pipefail\n\n echo \"NodeJS Setup... Starting\"\n echo \"Current Directory: $(pwd)\"\n\n eval \"$(fnm env --shell bash)\"\n fnm install --use --corepack-enabled\n corepack enable\n\n package_manager=\"$(node -p \"require('./web/package.json').packageManager\")\"\n corepack prepare \"${package_manager}\" --activate\n CI=true pnpm install -C \"./web\" --frozen-lockfile\n\n echo \"NodeJS Setup... Complete\"\n" + }, + "profile": { + "bash": " eval \"$(fnm env --shell bash --use-on-cd --version-file-strategy=recursive)\"\n", + "zsh": " eval \"$(fnm env --shell zsh --use-on-cd --version-file-strategy=recursive)\"\n", + "fish": " fnm env --shell fish --use-on-cd --version-file-strategy=recursive | source\n" + }, + "options": {} + }, + "name": "nemo-platform-nodejs", + "descriptor": { + "dir": "tools/nodejs" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "osv-scanner": { + "pkg-path": "osv-scanner", + "pkg-group": "osv-scanner", + "version": "2.3.3" + } + }, + "options": {} + }, + "name": "osv-scanner", + "descriptor": { + "dir": "tools/osv-scanner" + } + }, + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "open-policy-agent": { + "pkg-path": "open-policy-agent", + "pkg-group": "open-policy-agent", + "version": "1.8.0" + } + }, + "options": {} + }, + "name": "open-policy-agent", + "descriptor": { + "dir": "tools/open-policy-agent" + } + } + ], + "warnings": [] + } } diff --git a/.flox/env/manifest.toml b/.flox/env/manifest.toml index bb5382538b..14bfffa3d7 100644 --- a/.flox/env/manifest.toml +++ b/.flox/env/manifest.toml @@ -1,26 +1,19 @@ -schema-version = "1.11.0" +schema-version = "1.13.0" +[profile] +common = ''' + test -f .git/hooks/pre-commit || pre-commit install -[install] -# Python -python3.pkg-path = "python3" -uv.pkg-path = "uv" -uv.version = "~0.9" - -# Utilities -gnutar.pkg-path = "gnutar" - -# Tools -open-policy-agent.pkg-path = "open-policy-agent" -open-policy-agent.version = "1.8.0" -open-policy-agent.pkg-group = "tools" -osv-scanner.pkg-path = "osv-scanner" -osv-scanner.pkg-group = "tools" + gum style "NeMo Platform" +''' -[vars] -[hook] -[profile] -[services] [include] -[build] -[options] +environments = [ + { dir = "tools/common" }, + { dir = "tools/helm" }, + { dir = "tools/actionlint" }, + { dir = "tools/python" }, + { dir = "tools/nodejs" }, + { dir = "tools/osv-scanner" }, + { dir = "tools/open-policy-agent" }, +] diff --git a/.github/actions/build-nemo-platform-wheel/action.yaml b/.github/actions/build-nemo-platform-wheel/action.yaml index bef4631bf4..74d0cd41d9 100644 --- a/.github/actions/build-nemo-platform-wheel/action.yaml +++ b/.github/actions/build-nemo-platform-wheel/action.yaml @@ -121,7 +121,7 @@ runs: if: inputs.package == 'nemo-platform' uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: ${{ inputs.source-root }}/.nvmrc - name: Install pnpm via Corepack if: inputs.package == 'nemo-platform' @@ -163,7 +163,7 @@ runs: if: inputs.package == 'nemo-platform' uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: ${{ inputs.source-root }}/.nvmrc cache: pnpm cache-dependency-path: ${{ inputs.source-root }}/${{ inputs.studio-web-root }}/pnpm-lock.yaml diff --git a/.github/actions/build-policy-wasm/action.yaml b/.github/actions/build-policy-wasm/action.yaml index d7a44538bc..f41d59d293 100644 --- a/.github/actions/build-policy-wasm/action.yaml +++ b/.github/actions/build-policy-wasm/action.yaml @@ -1,42 +1,19 @@ name: Build OPA policy WASM description: > - Installs OPA and builds the authorization policy WASM asset at + Installs Flox, activates the OPA environment, and builds the authorization + policy WASM asset at services/core/auth/src/nmp/core/auth/assets/policy.wasm. Assumes the - repository has already been checked out. This is used in two locations, so - keeping it here prevents version drift, etc. + repository has already been checked out. runs: using: composite steps: - # build_policy_wasm.sh already prefers a cached binary at .cache/opa// before reaching - # out to openpolicyagent.org, but nothing ever populated that directory in CI, so every run - # depended on that download — and it has repeatedly failed, taking a required job down with it. - # Restoring the cache means the fetch is only needed the first time a pinned version is seen. - - name: Resolve pinned OPA version - id: opa - shell: bash - env: - REPO_ROOT: ${{ github.action_path }}/../../.. - run: | - # Parse rather than source: the script builds the WASM on execution, so sourcing it here - # would do the work twice (and before the cache is restored). - version="$(sed -n 's/^OPA_VERSION="\${OPA_VERSION:-\([^}]*\)}"/\1/p' "${REPO_ROOT}/script/build_policy_wasm.sh" | head -1)" - if [ -z "${version}" ]; then - echo "Could not parse the pinned OPA version from script/build_policy_wasm.sh" >&2 - echo "If the OPA_VERSION line moved, update this step — a wrong cache key silently disables caching." >&2 - exit 1 - fi - echo "version=${version}" >> "${GITHUB_OUTPUT}" - echo "Pinned OPA version: ${version}" - - - name: Cache the pinned OPA binary - uses: actions/cache@v4 + - name: Install Flox + uses: flox/install-flox-action@c94e7e1ab56ae14fe98bae4fd84384fd135f0c2a # v2.4.0 with: - path: .cache/opa - key: opa-${{ runner.os }}-${{ runner.arch }}-${{ steps.opa.outputs.version }} - + disable-metrics: "true" - name: Build policy WASM - shell: bash - env: - REPO_ROOT: ${{ github.action_path }}/../../.. - run: "${REPO_ROOT}/script/build_policy_wasm.sh" + uses: flox/activate-action@410568008895a0f2e09a34bbd9523f8ef1f2d292 # v1.1.0 + with: + dir: ./tools/open-policy-agent + command: ./script/build_policy_wasm.sh diff --git a/.github/actions/changes/action.yaml b/.github/actions/changes/action.yaml index 00db39d1dd..066662ec64 100644 --- a/.github/actions/changes/action.yaml +++ b/.github/actions/changes/action.yaml @@ -80,6 +80,10 @@ runs: - 'pyproject.toml' - 'uv.lock' - '.pre-commit-config.yaml' + - '.flox/**' + - 'tools/common/**' + - 'tools/osv-scanner/**' + - 'tools/python/**' fabric: - 'packages/nemo_evaluator_sdk/src/nemo_evaluator_sdk/agent_eval/runtimes/fabric/**' - 'packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_*.py' @@ -95,6 +99,8 @@ runs: - 'tools/**' web-studio: - 'web/**' + - '.nvmrc' + - 'tools/nodejs/**' docker: - 'docker-bake.hcl' - 'docker/**' @@ -105,6 +111,7 @@ runs: helm: - 'k8s/**' - 'tools/lint/lint-helm.sh' + - 'tools/helm/**' - '.github/workflows/ci.yaml' - '.github/actions/changes/action.yaml' - '.pre-commit-config.yaml' diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4f81a3f7bd..eaaef506c6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -64,20 +64,15 @@ jobs: uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - name: Install actionlint - shell: bash - run: | - mkdir -p "${RUNNER_TEMP}/actionlint" - curl -fsSL \ - -o "${RUNNER_TEMP}/actionlint.tar.gz" \ - "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz" - echo "8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8 ${RUNNER_TEMP}/actionlint.tar.gz" \ - | sha256sum -c - - tar -xzf "${RUNNER_TEMP}/actionlint.tar.gz" -C "${RUNNER_TEMP}/actionlint" + - name: Install Flox + uses: flox/install-flox-action@c94e7e1ab56ae14fe98bae4fd84384fd135f0c2a # v2.4.0 + with: + disable-metrics: "true" - name: Lint GitHub workflows and actions - shell: bash - run: | - "${RUNNER_TEMP}/actionlint/actionlint" + uses: flox/activate-action@410568008895a0f2e09a34bbd9523f8ef1f2d292 # v1.1.0 + with: + dir: ./tools/actionlint + command: actionlint ngc-metadata-test: name: Test NGC metadata sync @@ -545,41 +540,20 @@ jobs: env: HELM_FOLDER: k8s/helm HELM_RELEASE_NAME: nemo-platform - KUBECONFORM_VERSION: v0.6.7 steps: - name: Checkout code uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - name: Install Helm - uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0 - - name: Install kubeconform - shell: bash - run: | - set -euo pipefail - - mkdir -p "${RUNNER_TEMP}/kubeconform" - kubeconform_archive="kubeconform-linux-amd64.tar.gz" - curl -fsSL \ - -o "${RUNNER_TEMP}/kubeconform.tar.gz" \ - "https://github.com/yannh/kubeconform/releases/download/${KUBECONFORM_VERSION}/${kubeconform_archive}" - curl -fsSL \ - -o "${RUNNER_TEMP}/kubeconform.CHECKSUMS" \ - "https://github.com/yannh/kubeconform/releases/download/${KUBECONFORM_VERSION}/CHECKSUMS" - grep " ${kubeconform_archive}$" "${RUNNER_TEMP}/kubeconform.CHECKSUMS" \ - | sed "s# ${kubeconform_archive}# ${RUNNER_TEMP}/kubeconform.tar.gz#" \ - | sha256sum -c - - tar -xzf "${RUNNER_TEMP}/kubeconform.tar.gz" -C "${RUNNER_TEMP}/kubeconform" kubeconform - chmod +x "${RUNNER_TEMP}/kubeconform/kubeconform" - echo "${RUNNER_TEMP}/kubeconform" >> "${GITHUB_PATH}" - - name: Add NVIDIA Helm repo - shell: bash - run: | - helm repo add nvidia https://helm.ngc.nvidia.com/nvidia - helm repo update + - name: Install Flox + uses: flox/install-flox-action@c94e7e1ab56ae14fe98bae4fd84384fd135f0c2a # v2.4.0 + with: + disable-metrics: "true" - name: Lint and validate Helm chart - shell: bash - run: tools/lint/lint-helm.sh + uses: flox/activate-action@410568008895a0f2e09a34bbd9523f8ef1f2d292 # v1.1.0 + with: + dir: ./tools/helm + command: tools/lint/lint-helm.sh - name: Upload Helm lint artifacts if: failure() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -732,33 +706,40 @@ jobs: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false + - name: Install flox + uses: flox/install-flox-action@c94e7e1ab56ae14fe98bae4fd84384fd135f0c2a # v2.4.0 + with: + disable-metrics: "true" - name: Install uv uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 with: enable-cache: true python-version: "3.12" cache-dependency-glob: uv.lock - - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + - name: Install nodejs + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: '22' + node-version-file: .nvmrc - name: Install pnpm via corepack - run: npm i -g corepack@0.31.0 && corepack enable pnpm + run: | + npm i -g corepack@0.31.0 + corepack enable pnpm - name: Install web dependencies working-directory: web run: pnpm install --frozen-lockfile - - name: Install scanner dependencies - shell: bash - run: script/install_osv_scanner.sh - - name: Run lint - run: tools/lint/lint-all.sh - shell: bash + - name: Run Lint + uses: flox/activate-action@410568008895a0f2e09a34bbd9523f8ef1f2d292 # v1.1.0 env: CI_PROJECT_DIR: ${{ github.workspace }} + with: + dir: ./tools/lint + command: | + tools/lint/lint-all.sh - name: Upload lint artifacts if: failure() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: - name: lint-artifacts + name: Lint Artifacts retention-days: 7 path: | third_party/ @@ -1449,7 +1430,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1482,7 +1463,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1515,7 +1496,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1542,7 +1523,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1570,7 +1551,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1599,7 +1580,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1621,7 +1602,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: - node-version: "22" + node-version-file: .nvmrc - name: Install pnpm via corepack run: npm i -g corepack@0.31.0 && corepack enable pnpm - name: Install dependencies @@ -1851,20 +1832,23 @@ jobs: path: summary.md opa-policy-test: + name: Test OPA Policy runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - - name: Install OPA 1.8.0 - run: | - curl -L -o opa https://github.com/open-policy-agent/opa/releases/download/v1.8.0/opa_linux_amd64_static - chmod +x opa - ./opa version - - name: Run test - run: | - ./opa test services/core/auth/src/nmp/core/auth/app/policies services/core/auth/src/nmp/core/auth/app/policy_tests services/core/auth/src/nmp/core/auth/assets/static-authz.yaml -v + - name: Install Deps + uses: flox/install-flox-action@c94e7e1ab56ae14fe98bae4fd84384fd135f0c2a # v2.4.0 + with: + disable-metrics: "true" + - name: Policy Test + uses: flox/activate-action@410568008895a0f2e09a34bbd9523f8ef1f2d292 # v1.1.0 + with: + dir: ./tools/open-policy-agent + command: | + opa test services/core/auth/src/nmp/core/auth/app/policies services/core/auth/src/nmp/core/auth/app/policy_tests services/core/auth/src/nmp/core/auth/assets/static-authz.yaml -v require-nvskills: runs-on: ubuntu-latest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0be196449e..abcae265ed 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -67,9 +67,9 @@ repos: - repo: https://github.com/norwoodj/helm-docs # The container itself is 'latest' no matter what here - rev: "v1.14.2" + rev: v1.14.2 hooks: - - id: helm-docs-container + - id: helm-docs files: | (?x)^( k8s/helm/values\.yaml| @@ -96,6 +96,12 @@ repos: files: 'pyproject\.toml$' pass_filenames: false verbose: true + - id: uv-version-constraint + name: Check uv version constraints + entry: ./tools/lint/check-uv-version.sh + language: system + files: '^(pyproject\.toml|tools/python/\.flox/env/manifest\.toml)$' + pass_filenames: false - id: copyright-fix name: Fix copyright headers entry: uv run script/copyright_fixer.py @@ -148,3 +154,15 @@ repos: - id: check-merge-conflict args: - --assume-in-merge +# Flox + - repo: local + hooks: + - id: flox-include-check + name: Flox Include Upgrade + entry: |- + bash -c 'set -e + flox include upgrade 2>/dev/null' + language: system + files: '(^\.flox/env/manifest\.toml$|^tools/[^/]+/\.flox/env/manifest\.toml$)' + pass_filenames: false + stages: [pre-commit] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9424469a5a..6c31721716 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,24 @@ cd nemo-platform Install the local prerequisites first, then run the bootstrap targets from the repository root. +#### Full Developer Environment with Flox + +For a complete contributor environment, including Python tooling and TypeScript +dependencies, install [Flox](https://flox.dev/docs/install-flox/install) and +activate the repository environment: + +```bash +# macOS with Homebrew; see the Flox installation guide for other platforms. +brew install flox + +flox activate +``` + +The first activation installs the pinned Python and Node.js toolchains, +synchronizes Python dependencies, and installs the pnpm workspace dependencies. +It also installs the repository's pre-commit hook when needed. Leave the +environment with `flox deactivate` when you are done. + #### Python Environment Setup This project uses [uv](https://github.com/astral-sh/uv) for dependency management of the Python environment. diff --git a/pyproject.toml b/pyproject.toml index b5d7c6a2a1..357db82256 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -492,6 +492,7 @@ omit = [ "*/.venv/*", "*/venv/*", "*/.tox/*", + "*/.flox/*", "*/setup.py", "*/site-packages/*", ] diff --git a/tools/actionlint/.flox/.gitattributes b/tools/actionlint/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/actionlint/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/actionlint/.flox/.gitignore b/tools/actionlint/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/actionlint/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/actionlint/.flox/env.json b/tools/actionlint/.flox/env.json new file mode 100644 index 0000000000..8e57e8606c --- /dev/null +++ b/tools/actionlint/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "actionlint", + "version": 1 +} diff --git a/tools/actionlint/.flox/env/manifest.lock b/tools/actionlint/.flox/env/manifest.lock new file mode 100644 index 0000000000..2ee53751a3 --- /dev/null +++ b/tools/actionlint/.flox/env/manifest.lock @@ -0,0 +1,281 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "actionlint": { + "pkg-path": "actionlint", + "pkg-group": "actionlint", + "version": "1.7.12" + }, + "shellcheck": { + "pkg-path": "shellcheck", + "pkg-group": "actionlint", + "version": "0.11.0" + } + }, + "options": {} + }, + "packages": [ + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/f6xz9pw6zvga7r04isc4xf54y8g4sq5z-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:54.694474Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/9qj0ikkqv66k52xs8fywmnzyg8zn2svm-actionlint-1.7.12" + }, + "system": "aarch64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/pih7r5p4pify73ap7r0g4s7aqv5q01d2-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:21.154073Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/31js4yryr1yjq4waygdlv2k5w5ks0s0n-actionlint-1.7.12" + }, + "system": "aarch64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/63nf20xl5rcbm5mxf2pbfkdk90lcc4qi-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:08:59.948591Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/w4rjv0ikr5r5x54w758c8ck2016nmzsx-actionlint-1.7.12" + }, + "system": "x86_64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "actionlint", + "broken": false, + "derivation": "/nix/store/mk996amm0g9pssw96f0nh4460x97p890-actionlint-1.7.12.drv", + "description": "Static checker for GitHub Actions workflow files", + "install_id": "actionlint", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "actionlint-1.7.12", + "pname": "actionlint", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:23.770360Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.7.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/20imjbvi2q6z691fd5acg20mfx3aqvkj-actionlint-1.7.12" + }, + "system": "x86_64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/h7qr1dkmmmwvr6rdp41d46mrxxyypqc2-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:14:50.123814Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/py6hpk9rm5vh16dn0sifa3wpmsl0kl67-shellcheck-0.11.0-bin", + "doc": "/nix/store/bf4yd8vzhafk7nknzjjz5awvkqvyfspc-shellcheck-0.11.0-doc", + "man": "/nix/store/lwd2gr8083jfif5xb8h7jj396dvr6kdd-shellcheck-0.11.0-man", + "out": "/nix/store/7qi1h6hbr1ybpz9xyh4j38vrki1xc2z4-shellcheck-0.11.0" + }, + "system": "aarch64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/27a27jgwxyq768zr75divyi6x4744bix-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:43:48.990893Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/ydbg36fc5vvgc4k60d38vj95741wvv28-shellcheck-0.11.0-bin", + "doc": "/nix/store/dmj404h7ac342mrnj5dfdych83cd6r6c-shellcheck-0.11.0-doc", + "man": "/nix/store/l3202mccjm3iz9m0myddbmvhiy8nkp9m-shellcheck-0.11.0-man", + "out": "/nix/store/yyy8s43483p5ww6v09kal0kidb7kxvmk-shellcheck-0.11.0" + }, + "system": "aarch64-linux", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/40c53aw1zc0db8fxqk9z33pbx5sbgwbn-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:11:23.130360Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/68yldspq5p1gxa79ghprb1njskk36ax2-shellcheck-0.11.0-bin", + "doc": "/nix/store/4sk9v7wwdh2sia6wi3rknvvvm52wqg6r-shellcheck-0.11.0-doc", + "man": "/nix/store/90d8x14kmdq8fa12d5azjwdnp4z55q8b-shellcheck-0.11.0-man", + "out": "/nix/store/crl9a7fkfbpjbzgwj5nwpj57bmj7z940-shellcheck-0.11.0" + }, + "system": "x86_64-darwin", + "group": "actionlint", + "priority": 5 + }, + { + "attr_path": "shellcheck", + "broken": false, + "derivation": "/nix/store/fjnaf97vql7h3d6mzymqabz7lmbljj0x-shellcheck-0.11.0.drv", + "description": "Shell script analysis tool", + "install_id": "shellcheck", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "shellcheck-0.11.0", + "pname": "shellcheck", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:43:04.681164Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.11.0", + "outputs_to_install": [ + "bin", + "doc", + "man" + ], + "outputs": { + "bin": "/nix/store/vwvvnr1qxpwn0vffbsn8bkviqcgicizr-shellcheck-0.11.0-bin", + "doc": "/nix/store/wm6ncb99697pw9px9dpnx4vdq7mjskq2-shellcheck-0.11.0-doc", + "man": "/nix/store/g6cz58h4p7dasw30y0qrk0xwdp5595qv-shellcheck-0.11.0-man", + "out": "/nix/store/gykrz50q65f9jrljvd9bds46irfbd0bh-shellcheck-0.11.0" + }, + "system": "x86_64-linux", + "group": "actionlint", + "priority": 5 + } + ] +} diff --git a/tools/actionlint/.flox/env/manifest.toml b/tools/actionlint/.flox/env/manifest.toml new file mode 100644 index 0000000000..0cf2c36a1e --- /dev/null +++ b/tools/actionlint/.flox/env/manifest.toml @@ -0,0 +1,5 @@ +schema-version = "1.13.0" + +[install] +actionlint = { pkg-path = "actionlint", version = "1.7.12", pkg-group = "actionlint" } +shellcheck = { pkg-path = "shellcheck", version = "0.11.0", pkg-group = "actionlint" } diff --git a/tools/common/.flox/.gitattributes b/tools/common/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/common/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/common/.flox/.gitignore b/tools/common/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/common/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/common/.flox/env.json b/tools/common/.flox/env.json new file mode 100644 index 0000000000..ebc20a5bf0 --- /dev/null +++ b/tools/common/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "common", + "version": 1 +} diff --git a/tools/common/.flox/env/manifest.lock b/tools/common/.flox/env/manifest.lock new file mode 100644 index 0000000000..5c23fa4597 --- /dev/null +++ b/tools/common/.flox/env/manifest.lock @@ -0,0 +1,799 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "diffutils": { + "pkg-path": "diffutils" + }, + "findutils": { + "pkg-path": "findutils" + }, + "gnumake": { + "pkg-path": "gnumake" + }, + "gnutar": { + "pkg-path": "gnutar" + }, + "gum": { + "pkg-path": "gum" + }, + "yq-go": { + "pkg-path": "yq-go" + } + }, + "vars": { + "ALIGN": "center", + "BORDER": "double", + "BORDER_FOREGROUND": "514", + "FOREGROUND": "514", + "GUM_LOG_MESSAGE_FOREGROUND": "514", + "MARGIN": "1 2", + "PADDING": "1 2", + "WIDTH": "50" + }, + "options": {} + }, + "packages": [ + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/1dm6zyrj9634fz016hnqild1zznb18jm-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:55.469692Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/lw06ap9kg9hrmsp7a534pwzh303gm02w-diffutils-3.12-info", + "out": "/nix/store/yw1mksapzj4v66c5ag7ng59jn2nh6klq-diffutils-3.12" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/gy9f86m4f8bay71v2aylf6ilmfdblp4c-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:22.168402Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/b0jifqs0ywlwjj5yyigk7jyllsjzgiil-diffutils-3.12-info", + "out": "/nix/store/qm0ch7mlxn6kjdymcznxfsf5qdxqv9lk-diffutils-3.12" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/i5r3m138kb1gihsvjf2hs3g9dmyawk32-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:00.840124Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/7rh8a74vwdb6lvvvwjd0dlpv84hl6mr6-diffutils-3.12-info", + "out": "/nix/store/lwghldxh6irjmbp73lpxv6mrdwb4aqhv-diffutils-3.12" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "diffutils", + "broken": false, + "derivation": "/nix/store/4lqdccfv8wh1si8qh1phfjnl2v7530p9-diffutils-3.12.drv", + "description": "Commands for showing the differences between files (diff, cmp, etc.)", + "install_id": "diffutils", + "license": "GPL-3.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "diffutils-3.12", + "pname": "diffutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:24.850606Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.12", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/vajbg82rq4kq817ic61azz8z5363dy4c-diffutils-3.12-info", + "out": "/nix/store/3c05s0vxy8wafaa7lkj4bfh69wa0ch10-diffutils-3.12" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/971s20l3wxc0zv5c6gy4n9d04b9sxf3k-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:55.823224Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/nrk43rrjmq5dn4z0l56frzkpcya7bm7b-findutils-4.10.0-info", + "locate": "/nix/store/s494jb7dpfav3x14349f1gwa1xzw2hhp-findutils-4.10.0-locate", + "out": "/nix/store/z10ivgdarglczg1fp995rl3h6zx17ng0-findutils-4.10.0" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/bzhsr1f65ya9k9vh6b4cjzrdj9glg7bd-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:22.723360Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/bd7lq9h718463n6v4a8j889m7z7p1jmd-findutils-4.10.0-info", + "locate": "/nix/store/lr299wp5bmraayckga75pxfjjl6klz05-findutils-4.10.0-locate", + "out": "/nix/store/8z92qzl5h4dx7y6j5ks9zlpgy1rqi10v-findutils-4.10.0" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/jvn6l62vr18ih2qgn8j9iizi7gwgb9py-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:01.290176Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/xadm4ryq6sx6njbw97p6fvfpdhapc52w-findutils-4.10.0-info", + "locate": "/nix/store/f0y58n40x3ymy4q46jrl4ylynjzcl87g-findutils-4.10.0-locate", + "out": "/nix/store/lzlf2kma2qxsq6ijy9a9irc0g6n8cdpg-findutils-4.10.0" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/m1n6hnajwhnv5qm4mwh2b2briv8vrkb3-findutils-4.10.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "findutils-4.10.0", + "pname": "findutils", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:25.467195Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.10.0", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/z9xp5gx83h9j3nyn1qmlimfb9jnda70q-findutils-4.10.0-info", + "locate": "/nix/store/mlhv10zqih8f45hw0jqg4lzbz9ialzx3-findutils-4.10.0-locate", + "out": "/nix/store/zjwih3d9rrrw4ixll52wsy0538p7vdfd-findutils-4.10.0" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/fq3j34ffr44fa5a5nkwci5pdncl5h7hg-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:56.218409Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "doc": "/nix/store/v2jpgmm2fsg7b0z27cc514jdqbhm0isy-gnumake-4.4.1-doc", + "info": "/nix/store/dli72plfj1gcp88wv6px7qjjqvnnlql5-gnumake-4.4.1-info", + "man": "/nix/store/mzy3b5lxi8jbq5d63yvq52sjsq73907l-gnumake-4.4.1-man", + "out": "/nix/store/ij3d5cfr8h31a41l80jzid0z6kj2ajsv-gnumake-4.4.1" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/8g055kd88xxnsxxanrn2l1ycmd1zaqp4-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:23.879706Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "debug": "/nix/store/rcg8zj3391869cn266zwxynplwhyf6qw-gnumake-4.4.1-debug", + "doc": "/nix/store/qvl65zgm24p9sw0mzw3cxijcs8palykk-gnumake-4.4.1-doc", + "info": "/nix/store/2xp5f2ypvrlg6wn5s44jg3ji82l78k9q-gnumake-4.4.1-info", + "man": "/nix/store/3c96gbpypik8gzasv9brnka3i6mks9rz-gnumake-4.4.1-man", + "out": "/nix/store/v1888rzl1qf8zzd27q1vxvqqssizjx3x-gnumake-4.4.1" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/k8zf9n1v4hwky8xq8k83rxh7lrxwy630-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:01.829543Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "doc": "/nix/store/3b9cjf16jx4ncpp3b4k6m8q01nxsrw1n-gnumake-4.4.1-doc", + "info": "/nix/store/rriz5p4q8a6sca7sw3p3js1m5dl09ia8-gnumake-4.4.1-info", + "man": "/nix/store/wb4yn3d7vmi1hr4f8pz38rjvcl7f70ma-gnumake-4.4.1-man", + "out": "/nix/store/0bg5b97b9hbhz8907bfcrch1i116xppa-gnumake-4.4.1" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnumake", + "broken": false, + "derivation": "/nix/store/ppc7b3wjgk81bxnls18vjflgw70wxss4-gnumake-4.4.1.drv", + "description": "Tool to control the generation of non-source files from sources", + "install_id": "gnumake", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnumake-4.4.1", + "pname": "gnumake", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:26.701509Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.4.1", + "outputs_to_install": [ + "man", + "out" + ], + "outputs": { + "debug": "/nix/store/054b9sxxzph2fbwmj45njf1rspjifaz6-gnumake-4.4.1-debug", + "doc": "/nix/store/c2skg22md4ablx0qfcrsh7vpad31zgyx-gnumake-4.4.1-doc", + "info": "/nix/store/6mifiq9cp2bsg9ghkhifrvlmip7z3147-gnumake-4.4.1-info", + "man": "/nix/store/arjpl2nnq7khwfhy16qphyxxg924apy1-gnumake-4.4.1-man", + "out": "/nix/store/k9ybsvscqk4lhz5ndc1ap9800im1cry1-gnumake-4.4.1" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/xczzf9n70psj6lrpm5pmv2cgmv1zb19r-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:56.226588Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/zzm2iycbpgdv23aibi06z0akdi43rhnx-gnutar-1.35-info", + "out": "/nix/store/prip7nslhk7b9hfws6y5y9lzfxjskanv-gnutar-1.35" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/lw1g8qxvdmrdphq1cv5yb50j98m2v1xm-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:23.894623Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/q9bv4apsdh5wlqv0ga7lr9i22iv6978z-gnutar-1.35-info", + "out": "/nix/store/r4c3r48fn312jmjls34nwz41b9y4xsvs-gnutar-1.35" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/smwpwzpldpah35vkwjgkmnh2yrwl0mh2-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:01.837913Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/z68xf85yapz8rjzk7spnx09cf7cyngr5-gnutar-1.35-info", + "out": "/nix/store/s2z5cn0gikvb2x352nizvlwpmv18jh9k-gnutar-1.35" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/45ynwydadvp0xmsy1bkag7lp2zysy1jc-gnutar-1.35.drv", + "description": "GNU implementation of the `tar` archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:26.716276Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out", + "out" + ], + "outputs": { + "info": "/nix/store/avcnv3j0l6lwsffrihbhj84pgy11yqj3-gnutar-1.35-info", + "out": "/nix/store/1j461raj6r4hihrq9j6alrddmx837fzs-gnutar-1.35" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/ncv12x2sfb3pnxc4z7rlspgc0vf0zvbc-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:56.472327Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.17.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/55h6jsvhnhilka36s9jkld0k0d55c174-gum-0.17.0" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/4lqcj3v44pcscjmnjip8ggm99hrpilxr-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:24.298504Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.17.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/51vn4xsrgzfl9g3s00byydpx6jgjgrnd-gum-0.17.0" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/w01nbfjmxqjr3w9sycd0jliiamnljij2-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:02.122815Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.17.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/m2wks8knnsfgjl0ikhbi0vv7bqn53385-gum-0.17.0" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gum", + "broken": false, + "derivation": "/nix/store/468b0lgb2p00hyfj24xb44yj24r33hy4-gum-0.17.0.drv", + "description": "Tasty Bubble Gum for your shell", + "install_id": "gum", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "gum-0.17.0", + "pname": "gum", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:27.139900Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.17.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/w3h6fxv7jmapwcm3rxxwp83q16rnskm2-gum-0.17.0" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "yq-go", + "broken": false, + "derivation": "/nix/store/fizkq87xqlj4yicyxm2610qqirk29gx6-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "[ MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:15:55.233322Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.53.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/lpf51yzqr105clhg4c4vyn2blyai4axn-yq-go-4.53.3" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "yq-go", + "broken": false, + "derivation": "/nix/store/89zhpxra3dajdv5g4mi9pkf26kvff87l-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "[ MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:45:10.000608Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.53.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/hnn92zxywj73282qrq31ha89drv13244-yq-go-4.53.3" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "yq-go", + "broken": false, + "derivation": "/nix/store/ic6w08gsq6fhl16368y1qgpzqvhwx3if-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "[ MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:12:44.816982Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.53.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/agf9fyr053m3092vsmh6vih3apz0kw05-yq-go-4.53.3" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "yq-go", + "broken": false, + "derivation": "/nix/store/jfa3lz2rbba3mrnvaz0l660han5gd0xy-yq-go-4.53.3.drv", + "description": "Portable command-line YAML processor", + "install_id": "yq-go", + "license": "[ MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "yq-go-4.53.3", + "pname": "yq-go", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:44:33.209955Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.53.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/sky6728rldnq9yzvljy25d1l6k7y1saj-yq-go-4.53.3" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + } + ] +} diff --git a/tools/common/.flox/env/manifest.toml b/tools/common/.flox/env/manifest.toml new file mode 100644 index 0000000000..4b8f2245f3 --- /dev/null +++ b/tools/common/.flox/env/manifest.toml @@ -0,0 +1,20 @@ +schema-version = "1.13.0" + +[install] +# Utilities +gnumake.pkg-path = "gnumake" +gnutar.pkg-path = "gnutar" +gum.pkg-path = "gum" +findutils.pkg-path = "findutils" +diffutils.pkg-path = "diffutils" +yq-go.pkg-path = "yq-go" + +[vars] +GUM_LOG_MESSAGE_FOREGROUND="514" +FOREGROUND="514" +BORDER_FOREGROUND="514" +BORDER="double" +ALIGN="center" +WIDTH="50" +MARGIN="1 2" +PADDING="1 2" diff --git a/tools/helm/.flox/.gitattributes b/tools/helm/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/helm/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/helm/.flox/.gitignore b/tools/helm/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/helm/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/helm/.flox/env.json b/tools/helm/.flox/env.json new file mode 100644 index 0000000000..0f92fb0d8d --- /dev/null +++ b/tools/helm/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "helm", + "version": 1 +} diff --git a/tools/helm/.flox/env/manifest.lock b/tools/helm/.flox/env/manifest.lock new file mode 100644 index 0000000000..a91dbf286f --- /dev/null +++ b/tools/helm/.flox/env/manifest.lock @@ -0,0 +1,299 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "helm-docs": { + "pkg-path": "helm-docs", + "pkg-group": "helm-docs", + "version": "1.14.2" + }, + "kubeconform": { + "pkg-path": "kubeconform", + "pkg-group": "kubeconform", + "version": "0.6.7" + }, + "kubernetes-helm": { + "pkg-path": "kubernetes-helm", + "pkg-group": "kubernetes-helm", + "version": "4.2.3" + } + }, + "options": { + "systems": [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-linux" + ] + } + }, + "packages": [ + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/gbxz6zs7rv9qynjlq5z993cx97js8x5i-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:13:10.955708Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/i6nz37y0ghagc34nlpfngq71fn6z3rs2-helm-docs-1.14.2" + }, + "system": "aarch64-darwin", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/29i243jas4fqcpm8wdhbw4hvnyf4yp6h-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:41.686139Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/bgaaxnb9i8fzvkvl6ggddngc0v41wwny-helm-docs-1.14.2" + }, + "system": "aarch64-linux", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "helm-docs", + "broken": false, + "derivation": "/nix/store/7hxy923h5639mxb0lb05asr77arvwyjb-helm-docs-1.14.2.drv", + "description": "Tool for automatically generating markdown documentation for Helm charts", + "install_id": "helm-docs", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "helm-docs-1.14.2", + "pname": "helm-docs", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:45.057500Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.14.2", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/63l33x2rrpzdx0fg7yg776ajm6ilmgx7-helm-docs-1.14.2" + }, + "system": "x86_64-linux", + "group": "helm-docs", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/9s4snw6sv1rxkppb2vh77mfx8y8w3dk0-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T04:19:29.834897Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.6.7", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/39nyhvxm0fj2bqpy1hb0wp1mj6drgw6k-kubeconform-0.6.7" + }, + "system": "aarch64-darwin", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/lq4z544sl9s1g771v8si3pa54zk39x4h-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T04:37:22.795766Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.6.7", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/dl336sgplkl83x7hgq9vchnwia92rllx-kubeconform-0.6.7" + }, + "system": "aarch64-linux", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubeconform", + "broken": false, + "derivation": "/nix/store/7sn96dgwl0lkghawlg88557cr9nr88y4-kubeconform-0.6.7.drv", + "description": "FAST Kubernetes manifests validator, with support for Custom Resources!", + "install_id": "kubeconform", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=979daf34c8cacebcd917d540070b52a3c2b9b16e", + "name": "kubeconform-0.6.7", + "pname": "kubeconform", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev_count": 793735, + "rev_date": "2025-05-04T03:14:55Z", + "scrape_date": "2025-05-05T05:15:57.921277Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.6.7", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/8cmvaf9s4h36rz1464kwwn5a9pifgf56-kubeconform-0.6.7" + }, + "system": "x86_64-linux", + "group": "kubeconform", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/8fnhgk1cylc66jpbkpkhi1b8l763zz61-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "rev_count": 1037713, + "rev_date": "2026-07-19T21:52:44Z", + "scrape_date": "2026-07-21T04:54:14.871348Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/jg1p2gzhrgg5d0wfdv45j1144q3ms3i2-kubernetes-helm-4.2.3" + }, + "system": "aarch64-darwin", + "group": "kubernetes-helm", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/zpbg9qqi19k2pcp06yfkmv76a1yb2j0x-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "rev_count": 1037713, + "rev_date": "2026-07-19T21:52:44Z", + "scrape_date": "2026-07-21T05:24:45.679341Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/0fmrj3fq2j2l95cj12pw1bkni4nihwsl-kubernetes-helm-4.2.3" + }, + "system": "aarch64-linux", + "group": "kubernetes-helm", + "priority": 5 + }, + { + "attr_path": "kubernetes-helm", + "broken": false, + "derivation": "/nix/store/4nb9airy740jinzgf83vpk7gp13vjmii-kubernetes-helm-4.2.3.drv", + "description": "Package manager for kubernetes", + "install_id": "kubernetes-helm", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "name": "kubernetes-helm-4.2.3", + "pname": "kubernetes-helm", + "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "rev_count": 1037713, + "rev_date": "2026-07-19T21:52:44Z", + "scrape_date": "2026-07-21T05:59:04.143872Z", + "stabilities": [ + "unstable" + ], + "unfree": false, + "version": "4.2.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/7vgl8w4ma0pl7f32n0rjgnmj6xalmiac-kubernetes-helm-4.2.3" + }, + "system": "x86_64-linux", + "group": "kubernetes-helm", + "priority": 5 + } + ] +} diff --git a/tools/helm/.flox/env/manifest.toml b/tools/helm/.flox/env/manifest.toml new file mode 100644 index 0000000000..6144fa72d9 --- /dev/null +++ b/tools/helm/.flox/env/manifest.toml @@ -0,0 +1,15 @@ +schema-version = "1.13.0" + + +[install] +kubernetes-helm = { pkg-path = "kubernetes-helm", version = "4.2.3", pkg-group = "kubernetes-helm" } +helm-docs = { pkg-path = "helm-docs", version = "1.14.2", pkg-group = "helm-docs" } +kubeconform = { pkg-path = "kubeconform", version = "0.6.7", pkg-group = "kubeconform" } + +[options] +# Systems that environment is compatible with +systems = [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-linux", +] diff --git a/tools/lint/.flox/.gitattributes b/tools/lint/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/lint/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/lint/.flox/.gitignore b/tools/lint/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/lint/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/lint/.flox/env.json b/tools/lint/.flox/env.json new file mode 100644 index 0000000000..ce23d9edb9 --- /dev/null +++ b/tools/lint/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "lint", + "version": 1 +} diff --git a/tools/lint/.flox/env/manifest.lock b/tools/lint/.flox/env/manifest.lock new file mode 100644 index 0000000000..2511d11a01 --- /dev/null +++ b/tools/lint/.flox/env/manifest.lock @@ -0,0 +1,169 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.14.0", + "install": { + "osv-scanner": { + "pkg-path": "osv-scanner", + "pkg-group": "osv-scanner", + "version": "2.3.3" + } + }, + "options": {} + }, + "packages": [ + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/6wq5al03q2wa5q7n1ncbd7abhl66y7b8-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:13:26.142590Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/ns183jzjw9y8cs1psf76lw21005p4z0j-osv-scanner-2.3.3" + }, + "system": "aarch64-darwin", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/qq33cdnga8jg16qj9p7f8m6llhsxvfyw-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:42:08.260295Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/mry5p0m1qd8sr7hrv5pzrymdvfky1zw7-osv-scanner-2.3.3" + }, + "system": "aarch64-linux", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/1js2yqnpa9m8r6pzibwx3fcz85rrfhz0-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:39.284981Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/l79gbf7zv1ry5h66xnhb544ncpxcniax-osv-scanner-2.3.3" + }, + "system": "x86_64-darwin", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/y8jd2pjjlpkdsbp1hkzszsfzxx1ajz1c-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:41:14.038939Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/znf20q4b2114afsq39pn3fhmcda25rhy-osv-scanner-2.3.3" + }, + "system": "x86_64-linux", + "group": "osv-scanner", + "priority": 5 + } + ], + "compose": { + "composer": { + "schema-version": "1.14.0", + "options": {}, + "include": { + "environments": [ + { + "dir": "../osv-scanner" + } + ] + } + }, + "include": [ + { + "manifest": { + "schema-version": "1.13.0", + "install": { + "osv-scanner": { + "pkg-path": "osv-scanner", + "pkg-group": "osv-scanner", + "version": "2.3.3" + } + }, + "options": {} + }, + "name": "osv-scanner", + "descriptor": { + "dir": "../osv-scanner" + } + } + ], + "warnings": [] + } +} diff --git a/tools/lint/.flox/env/manifest.toml b/tools/lint/.flox/env/manifest.toml new file mode 100644 index 0000000000..8146193aec --- /dev/null +++ b/tools/lint/.flox/env/manifest.toml @@ -0,0 +1,6 @@ +schema-version = "1.14.0" + +[include] +environments = [ + { dir = "../osv-scanner" } +] diff --git a/tools/lint/check-uv-version.sh b/tools/lint/check-uv-version.sh new file mode 100755 index 0000000000..5cebe61707 --- /dev/null +++ b/tools/lint/check-uv-version.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +set -euo pipefail + +_python_ver="$(yq '.tool.uv.required-version' pyproject.toml)" +_flox_ver="$(yq '.install.uv.version' tools/python/.flox/env/manifest.toml)" + +if [[ "${_python_ver}" != "${_flox_ver}" ]]; then + printf "uv version constraints differ:\n\n" + printf "pyproject.toml flox-env\n%s %s\n" "${_python_ver}" "${_flox_ver}" | column -t + exit 1 +fi diff --git a/tools/lint/check_uv_version.py b/tools/lint/check_uv_version.py new file mode 100644 index 0000000000..53d9148afb --- /dev/null +++ b/tools/lint/check_uv_version.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +"""Ensure uv uses the same version constraint in Flox and pyproject.toml.""" + +import sys +import tomllib +from collections.abc import Mapping +from pathlib import Path + +PROJECT_ROOT = Path(__file__).resolve().parents[2] +PYPROJECT_PATH = PROJECT_ROOT / "pyproject.toml" +FLOX_MANIFEST_PATH = PROJECT_ROOT / "tools/python/.flox/env/manifest.toml" + + +def load_toml(path: Path) -> dict[str, object]: + with path.open("rb") as file: + return tomllib.load(file) + + +def get_nested_value(config: Mapping[str, object], *keys: str) -> object | None: + value: object = config + for key in keys: + if not isinstance(value, Mapping): + return None + value = value.get(key) + return value + + +def main() -> int: + pyproject = load_toml(PYPROJECT_PATH) + manifest = load_toml(FLOX_MANIFEST_PATH) + + pyproject_version = get_nested_value(pyproject, "tool", "uv", "required-version") + flox_version = get_nested_value(manifest, "install", "uv", "version") + + if not isinstance(pyproject_version, str) or not isinstance(flox_version, str): + print("uv version constraints must be strings", file=sys.stderr) + return 1 + + if pyproject_version != flox_version: + print( + "uv version constraints differ: " + f"pyproject.toml has {pyproject_version!r}, while " + f"tools/python/.flox/env/manifest.toml has {flox_version!r}", + file=sys.stderr, + ) + return 1 + + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/lint/lint-all.sh b/tools/lint/lint-all.sh index 56a80fa9fc..bb505bf33e 100755 --- a/tools/lint/lint-all.sh +++ b/tools/lint/lint-all.sh @@ -6,6 +6,7 @@ PROJECT_ROOT="${CI_PROJECT_DIR:-$(cd "${SCRIPT_DIR}/../.." && pwd)}" cd "${PROJECT_ROOT}" || exit 1 declare -a scripts=( + "check-uv-version:tools/lint/check-uv-version.sh" "lint-licenses:tools/lint/lint-licenses.sh" "lint-openapi:tools/lint/lint-openapi.sh" "lint-config-reference-docs:tools/lint/lint-config-reference-docs.sh" diff --git a/tools/nodejs/.flox/.gitattributes b/tools/nodejs/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/nodejs/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/nodejs/.flox/.gitignore b/tools/nodejs/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/nodejs/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/nodejs/.flox/env.json b/tools/nodejs/.flox/env.json new file mode 100644 index 0000000000..3a2a34288a --- /dev/null +++ b/tools/nodejs/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "nemo-platform-nodejs", + "version": 1 +} diff --git a/tools/nodejs/.flox/env/manifest.lock b/tools/nodejs/.flox/env/manifest.lock new file mode 100644 index 0000000000..e60a7f6114 --- /dev/null +++ b/tools/nodejs/.flox/env/manifest.lock @@ -0,0 +1,148 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "fnm": { + "pkg-path": "fnm", + "pkg-group": "node" + } + }, + "vars": { + "FNM_DIR": "${FLOX_ENV_CACHE}/fnm", + "FNM_VERSION_FILE_STRATEGY": "recursive", + "NPM_CONFIG_STORE_DIR": "${FLOX_ENV_CACHE}/npm-cache" + }, + "hook": { + "on-activate": " set -euo pipefail\n\n echo \"NodeJS Setup... Starting\"\n echo \"Current Directory: $(pwd)\"\n\n eval \"$(fnm env --shell bash)\"\n fnm install --use --corepack-enabled\n corepack enable\n\n package_manager=\"$(node -p \"require('./web/package.json').packageManager\")\"\n corepack prepare \"${package_manager}\" --activate\n CI=true pnpm install -C \"./web\" --frozen-lockfile\n\n echo \"NodeJS Setup... Complete\"\n" + }, + "profile": { + "bash": " eval \"$(fnm env --shell bash --use-on-cd --version-file-strategy=recursive)\"\n", + "zsh": " eval \"$(fnm env --shell zsh --use-on-cd --version-file-strategy=recursive)\"\n", + "fish": " fnm env --shell fish --use-on-cd --version-file-strategy=recursive | source\n" + }, + "options": {} + }, + "packages": [ + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/m4s0894j2dj2k375c7dns2ib8nk5krpw-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:12:55.889515Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/fp3ndk75i6c1c31a9zqkz3pk61gz294h-fnm-1.39.0" + }, + "system": "aarch64-darwin", + "group": "node", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/zh7xw7li0b92r9cx25f4j19qdp1kqvdz-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:41:22.827979Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/1312sbdkqvdp0m5gak0dfgz0bf2p1kgj-fnm-1.39.0" + }, + "system": "aarch64-linux", + "group": "node", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/0ib0kdcx3a11klp8pjjz6a2z474bf820-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:01.365196Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/m6mcghc8bqzaal27zkqrp0a9mpk98hld-fnm-1.39.0" + }, + "system": "x86_64-darwin", + "group": "node", + "priority": 5 + }, + { + "attr_path": "fnm", + "broken": false, + "derivation": "/nix/store/isdxp3dj73n1j6zzxjnjg20f4016h7ia-fnm-1.39.0.drv", + "description": "Fast and simple Node.js version manager", + "install_id": "fnm", + "license": "GPL-3.0-only", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "fnm-1.39.0", + "pname": "fnm", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:40:25.581588Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.39.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/1dih2h4sxfqkkg32db7753m02d9q54hk-fnm-1.39.0" + }, + "system": "x86_64-linux", + "group": "node", + "priority": 5 + } + ] +} diff --git a/tools/nodejs/.flox/env/manifest.toml b/tools/nodejs/.flox/env/manifest.toml new file mode 100644 index 0000000000..93844b8c12 --- /dev/null +++ b/tools/nodejs/.flox/env/manifest.toml @@ -0,0 +1,38 @@ +schema-version = "1.13.0" + +[install] +fnm = { pkg-path = "fnm", pkg-group = "node" } + +[vars] +FNM_DIR="${FLOX_ENV_CACHE}/fnm" +FNM_VERSION_FILE_STRATEGY="recursive" +NPM_CONFIG_STORE_DIR="${FLOX_ENV_CACHE}/npm-cache" + +[hook] +on-activate = ''' + set -euo pipefail + + echo "NodeJS Setup... Starting" + echo "Current Directory: $(pwd)" + + eval "$(fnm env --shell bash)" + fnm install --use --corepack-enabled + corepack enable + + package_manager="$(node -p "require('./web/package.json').packageManager")" + corepack prepare "${package_manager}" --activate + CI=true pnpm install -C "./web" --frozen-lockfile + + echo "NodeJS Setup... Complete" +''' + +[profile] +bash = ''' + eval "$(fnm env --shell bash --use-on-cd --version-file-strategy=recursive)" +''' +zsh = ''' + eval "$(fnm env --shell zsh --use-on-cd --version-file-strategy=recursive)" +''' +fish = ''' + fnm env --shell fish --use-on-cd --version-file-strategy=recursive | source +''' diff --git a/tools/open-policy-agent/.flox/.gitattributes b/tools/open-policy-agent/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/open-policy-agent/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/open-policy-agent/.flox/.gitignore b/tools/open-policy-agent/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/open-policy-agent/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/open-policy-agent/.flox/env.json b/tools/open-policy-agent/.flox/env.json new file mode 100644 index 0000000000..dcd64777ea --- /dev/null +++ b/tools/open-policy-agent/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "open-policy-agent", + "version": 1 +} diff --git a/tools/open-policy-agent/.flox/env/manifest.lock b/tools/open-policy-agent/.flox/env/manifest.lock new file mode 100644 index 0000000000..4d8682baf5 --- /dev/null +++ b/tools/open-policy-agent/.flox/env/manifest.lock @@ -0,0 +1,140 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "open-policy-agent": { + "pkg-path": "open-policy-agent", + "pkg-group": "open-policy-agent", + "version": "1.8.0" + } + }, + "options": {} + }, + "packages": [ + { + "attr_path": "open-policy-agent", + "broken": false, + "derivation": "/nix/store/x6pblvx2vksr0j7x1fn64za35ydpna5m-open-policy-agent-1.8.0.drv", + "description": "General-purpose policy engine", + "install_id": "open-policy-agent", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", + "name": "open-policy-agent-1.8.0", + "pname": "open-policy-agent", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev_count": 866707, + "rev_date": "2025-09-24T05:06:22Z", + "scrape_date": "2025-09-26T03:42:58.943863Z", + "stabilities": [ + "unstable", + "staging", + "stable" + ], + "unfree": false, + "version": "1.8.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/28vvl32vygjxdalfprxjqvnwpbsp2j7i-open-policy-agent-1.8.0" + }, + "system": "aarch64-darwin", + "group": "open-policy-agent", + "priority": 5 + }, + { + "attr_path": "open-policy-agent", + "broken": false, + "derivation": "/nix/store/07baqszwy9ldr487q9z6svwcsn7d73px-open-policy-agent-1.8.0.drv", + "description": "General-purpose policy engine", + "install_id": "open-policy-agent", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", + "name": "open-policy-agent-1.8.0", + "pname": "open-policy-agent", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev_count": 866707, + "rev_date": "2025-09-24T05:06:22Z", + "scrape_date": "2025-09-26T04:12:13.305775Z", + "stabilities": [ + "unstable", + "staging", + "stable" + ], + "unfree": false, + "version": "1.8.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/i98fklmmf7xcqlmm1hdzkcw4wvyf92my-open-policy-agent-1.8.0" + }, + "system": "aarch64-linux", + "group": "open-policy-agent", + "priority": 5 + }, + { + "attr_path": "open-policy-agent", + "broken": false, + "derivation": "/nix/store/x7smjn0d496p62ckf6jcvp0i4qb9gzqv-open-policy-agent-1.8.0.drv", + "description": "General-purpose policy engine", + "install_id": "open-policy-agent", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", + "name": "open-policy-agent-1.8.0", + "pname": "open-policy-agent", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev_count": 866707, + "rev_date": "2025-09-24T05:06:22Z", + "scrape_date": "2025-09-26T04:39:57.100020Z", + "stabilities": [ + "unstable", + "staging", + "stable" + ], + "unfree": false, + "version": "1.8.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/mby5spqsadnhrbdc20h01b5fbf7938vl-open-policy-agent-1.8.0" + }, + "system": "x86_64-darwin", + "group": "open-policy-agent", + "priority": 5 + }, + { + "attr_path": "open-policy-agent", + "broken": false, + "derivation": "/nix/store/rz93a0lg0j3b7p0lygizpnibnln7i2av-open-policy-agent-1.8.0.drv", + "description": "General-purpose policy engine", + "install_id": "open-policy-agent", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=e643668fd71b949c53f8626614b21ff71a07379d", + "name": "open-policy-agent-1.8.0", + "pname": "open-policy-agent", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev_count": 866707, + "rev_date": "2025-09-24T05:06:22Z", + "scrape_date": "2025-09-26T05:11:19.422384Z", + "stabilities": [ + "unstable", + "staging", + "stable" + ], + "unfree": false, + "version": "1.8.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/v3nqh59l69bpq739pa2amj427h1isc5d-open-policy-agent-1.8.0" + }, + "system": "x86_64-linux", + "group": "open-policy-agent", + "priority": 5 + } + ] +} diff --git a/tools/open-policy-agent/.flox/env/manifest.toml b/tools/open-policy-agent/.flox/env/manifest.toml new file mode 100644 index 0000000000..7ef7656a83 --- /dev/null +++ b/tools/open-policy-agent/.flox/env/manifest.toml @@ -0,0 +1,4 @@ +schema-version = "1.13.0" + +[install] +open-policy-agent = { pkg-path = "open-policy-agent", version = "1.8.0", pkg-group = "open-policy-agent" } diff --git a/tools/osv-scanner/.flox/.gitattributes b/tools/osv-scanner/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/osv-scanner/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/osv-scanner/.flox/.gitignore b/tools/osv-scanner/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/osv-scanner/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/osv-scanner/.flox/env.json b/tools/osv-scanner/.flox/env.json new file mode 100644 index 0000000000..ff08a2cdee --- /dev/null +++ b/tools/osv-scanner/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "osv-scanner", + "version": 1 +} diff --git a/tools/osv-scanner/.flox/env/manifest.lock b/tools/osv-scanner/.flox/env/manifest.lock new file mode 100644 index 0000000000..465f217c24 --- /dev/null +++ b/tools/osv-scanner/.flox/env/manifest.lock @@ -0,0 +1,136 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "osv-scanner": { + "pkg-path": "osv-scanner", + "pkg-group": "osv-scanner", + "version": "2.3.3" + } + }, + "options": {} + }, + "packages": [ + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/6wq5al03q2wa5q7n1ncbd7abhl66y7b8-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:13:26.142590Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/ns183jzjw9y8cs1psf76lw21005p4z0j-osv-scanner-2.3.3" + }, + "system": "aarch64-darwin", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/qq33cdnga8jg16qj9p7f8m6llhsxvfyw-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T03:42:08.260295Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/mry5p0m1qd8sr7hrv5pzrymdvfky1zw7-osv-scanner-2.3.3" + }, + "system": "aarch64-linux", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/1js2yqnpa9m8r6pzibwx3fcz85rrfhz0-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:09:39.284981Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/l79gbf7zv1ry5h66xnhb544ncpxcniax-osv-scanner-2.3.3" + }, + "system": "x86_64-darwin", + "group": "osv-scanner", + "priority": 5 + }, + { + "attr_path": "osv-scanner", + "broken": false, + "derivation": "/nix/store/y8jd2pjjlpkdsbp1hkzszsfzxx1ajz1c-osv-scanner-2.3.3.drv", + "description": "Vulnerability scanner written in Go which uses the data provided by https://osv.dev", + "install_id": "osv-scanner", + "license": "Apache-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=d407951447dcd00442e97087bf374aad70c04cea", + "name": "osv-scanner-2.3.3", + "pname": "osv-scanner", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "rev_count": 1027867, + "rev_date": "2026-07-05T04:06:12Z", + "scrape_date": "2026-07-06T04:41:14.038939Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "2.3.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/znf20q4b2114afsq39pn3fhmcda25rhy-osv-scanner-2.3.3" + }, + "system": "x86_64-linux", + "group": "osv-scanner", + "priority": 5 + } + ] +} diff --git a/tools/osv-scanner/.flox/env/manifest.toml b/tools/osv-scanner/.flox/env/manifest.toml new file mode 100644 index 0000000000..2cb79cd200 --- /dev/null +++ b/tools/osv-scanner/.flox/env/manifest.toml @@ -0,0 +1,4 @@ +schema-version = "1.13.0" + +[install] +osv-scanner = { pkg-path = "osv-scanner", version = "2.3.3", pkg-group = "osv-scanner" } diff --git a/tools/python/.flox/.gitattributes b/tools/python/.flox/.gitattributes new file mode 100644 index 0000000000..bb5491e192 --- /dev/null +++ b/tools/python/.flox/.gitattributes @@ -0,0 +1 @@ +env/manifest.lock linguist-generated=true linguist-language=JSON diff --git a/tools/python/.flox/.gitignore b/tools/python/.flox/.gitignore new file mode 100644 index 0000000000..8d21186831 --- /dev/null +++ b/tools/python/.flox/.gitignore @@ -0,0 +1,5 @@ +run/ +cache/ +lib/ +log/ +!env/ diff --git a/tools/python/.flox/env.json b/tools/python/.flox/env.json new file mode 100644 index 0000000000..ec94adb17b --- /dev/null +++ b/tools/python/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "nemo-platform-python", + "version": 1 +} diff --git a/tools/python/.flox/env/manifest.lock b/tools/python/.flox/env/manifest.lock new file mode 100644 index 0000000000..1955cb5e6a --- /dev/null +++ b/tools/python/.flox/env/manifest.lock @@ -0,0 +1,151 @@ +{ + "lockfile-version": 1, + "manifest": { + "schema-version": "1.13.0", + "install": { + "uv": { + "pkg-path": "uv", + "pkg-group": "uv", + "version": ">=0.9.14,<0.10.0" + } + }, + "vars": { + "UV_CACHE_DIR": "${FLOX_ENV_CACHE}/uv-cache", + "UV_MANAGED_PYTHON": "1", + "UV_PYTHON": "3.13", + "UV_PYTHON_INSTALL_DIR": "${FLOX_ENV_CACHE}/python", + "UV_VENV_SEED": "1" + }, + "hook": { + "on-activate": " set -euo pipefail\n\n echo \"Python Setup... Starting\"\n uv sync --frozen --all-packages\n echo \"Python Setup... Complete\"\n" + }, + "profile": { + "bash": " source .venv/bin/activate\n", + "zsh": " source .venv/bin/activate\n", + "fish": " set -gx VIRTUAL_ENV \"$PWD/.venv\"\n set -gx PATH \"$VIRTUAL_ENV/bin\" $PATH\n" + }, + "options": {} + }, + "packages": [ + { + "attr_path": "uv", + "broken": false, + "derivation": "/nix/store/v9837hla896n3pjv9hmx3ii4sk30p0r9-uv-0.9.28.drv", + "description": "Extremely fast Python package installer and resolver, written in Rust", + "install_id": "uv", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "name": "uv-0.9.28", + "pname": "uv", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev_count": 940249, + "rev_date": "2026-02-04T09:32:58Z", + "scrape_date": "2026-02-06T04:38:13.753987Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.9.28", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/rnci0wgac6r47gr09bhb6x5fyc507i43-uv-0.9.28" + }, + "system": "aarch64-darwin", + "group": "uv", + "priority": 5 + }, + { + "attr_path": "uv", + "broken": false, + "derivation": "/nix/store/dlp3p1pzksliq0pli84ff5ifbvh13211-uv-0.9.28.drv", + "description": "Extremely fast Python package installer and resolver, written in Rust", + "install_id": "uv", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "name": "uv-0.9.28", + "pname": "uv", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev_count": 940249, + "rev_date": "2026-02-04T09:32:58Z", + "scrape_date": "2026-02-06T05:08:27.505844Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.9.28", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/r6g6avldk8dlj30dmk2p2971akkmw9h3-uv-0.9.28" + }, + "system": "aarch64-linux", + "group": "uv", + "priority": 5 + }, + { + "attr_path": "uv", + "broken": false, + "derivation": "/nix/store/1dxxxb7ia28b4fcvn00vvc2xmal3kamm-uv-0.9.28.drv", + "description": "Extremely fast Python package installer and resolver, written in Rust", + "install_id": "uv", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "name": "uv-0.9.28", + "pname": "uv", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev_count": 940249, + "rev_date": "2026-02-04T09:32:58Z", + "scrape_date": "2026-02-06T05:35:52.717277Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.9.28", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/vrzvbvds4vvj5989w838m562vavqzd4w-uv-0.9.28" + }, + "system": "x86_64-darwin", + "group": "uv", + "priority": 5 + }, + { + "attr_path": "uv", + "broken": false, + "derivation": "/nix/store/b88x7x44g3gj9mfw2ql683lfcxqjil95-uv-0.9.28.drv", + "description": "Extremely fast Python package installer and resolver, written in Rust", + "install_id": "uv", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "name": "uv-0.9.28", + "pname": "uv", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev_count": 940249, + "rev_date": "2026-02-04T09:32:58Z", + "scrape_date": "2026-02-06T06:09:00.313627Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.9.28", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/jddcqyx0099mynb7gxr0dd66hkpqqs2r-uv-0.9.28" + }, + "system": "x86_64-linux", + "group": "uv", + "priority": 5 + } + ] +} diff --git a/tools/python/.flox/env/manifest.toml b/tools/python/.flox/env/manifest.toml new file mode 100644 index 0000000000..dab93a67cc --- /dev/null +++ b/tools/python/.flox/env/manifest.toml @@ -0,0 +1,32 @@ +schema-version = "1.13.0" + +[install] +uv = { pkg-path = "uv", version = ">=0.9.14,<0.10.0", pkg-group = "uv" } + +[vars] +UV_VENV_SEED="1" +UV_MANAGED_PYTHON="1" +UV_PYTHON="3.13" +UV_CACHE_DIR="${FLOX_ENV_CACHE}/uv-cache" +UV_PYTHON_INSTALL_DIR="${FLOX_ENV_CACHE}/python" + +[hook] +on-activate = ''' + set -euo pipefail + + echo "Python Setup... Starting" + uv sync --frozen --all-packages + echo "Python Setup... Complete" +''' + +[profile] +bash = ''' + source .venv/bin/activate +''' +zsh = ''' + source .venv/bin/activate +''' +fish = ''' + set -gx VIRTUAL_ENV "$PWD/.venv" + set -gx PATH "$VIRTUAL_ENV/bin" $PATH +'''