diff --git a/.devcontainer.json b/.devcontainer.json index 7ffa9fd5..3545fe9f 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -1,6 +1,6 @@ { - "image": "std-vscode", - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - } -} \ No newline at end of file + "image": "std-vscode", + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + } +} diff --git a/.github/workflows/update-subflake.sh b/.github/workflows/update-subflake.sh index 38b6e4aa..fc7d5757 100755 --- a/.github/workflows/update-subflake.sh +++ b/.github/workflows/update-subflake.sh @@ -4,9 +4,9 @@ nix store add-path --name source . # update the subflake lockfile to the (now existing) store path # set lastModified to 1 because unknown issues in the GH action environment (cd ./src/local && nix flake lock --update-input std && ( - jq '.nodes.std.locked.lastModified = 1' flake.lock > flake.lock.new && rm flake.lock && mv flake.lock.new flake.lock + jq '.nodes.std.locked.lastModified = 1' flake.lock >flake.lock.new && rm flake.lock && mv flake.lock.new flake.lock ) && git add -f flake.lock) (cd ./src/tests && nix flake lock --update-input std && ( - jq '.nodes.std.locked.lastModified = 1' flake.lock > flake.lock.new && rm flake.lock && mv flake.lock.new flake.lock -) &&git add -f flake.lock) + jq '.nodes.std.locked.lastModified = 1' flake.lock >flake.lock.new && rm flake.lock && mv flake.lock.new flake.lock +) && git add -f flake.lock) # continue normally ... diff --git a/docs/theme/highlight.js b/docs/theme/highlight.js index c3b62993..f50c69bb 100644 --- a/docs/theme/highlight.js +++ b/docs/theme/highlight.js @@ -81,11 +81,11 @@ var hljs = (function () { ? e : n : "start" === n[0].event - ? e - : n + ? e + : n : e.length - ? e - : n; + ? e + : n; } function c(e) { s += @@ -281,7 +281,7 @@ var hljs = (function () { 0 !== e.index && n.ignoreMatch(); }, }, - e + e, ) ); }, @@ -348,10 +348,10 @@ var hljs = (function () { return n ? +n : (function (e) { - return N.includes(e.toLowerCase()); - })(e) - ? 0 - : 1; + return N.includes(e.toLowerCase()); + })(e) + ? 0 + : 1; } const R = t, y = r, @@ -464,7 +464,7 @@ var hljs = (function () { r.endSameAsBegin && (r.endRe = RegExp( t.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), - "m" + "m", )), r.skip ? (A += t) @@ -481,7 +481,7 @@ var hljs = (function () { i + '" for mode "' + (y.className || "") + - '"' + '"', ); throw ((e.mode = y), e); } @@ -529,7 +529,7 @@ var hljs = (function () { if ("illegal" === r.type && "" === i) return 1; if (B > 1e5 && B > 3 * r.index) throw Error( - "potential infinite loop, way more iterations than matches" + "potential infinite loop, way more iterations than matches", ); return (A += i), i.length; } @@ -543,7 +543,7 @@ var hljs = (function () { function n(n, t) { return RegExp( d(n), - "m" + (e.case_insensitive ? "i" : "") + (t ? "g" : "") + "m" + (e.case_insensitive ? "i" : "") + (t ? "g" : ""), ); } class t { @@ -593,7 +593,7 @@ var hljs = (function () { } return a; })(e), - !0 + !0, )), (this.lastIndex = 0); } @@ -649,7 +649,7 @@ var hljs = (function () { } if (e.contains && e.contains.includes("self")) throw Error( - "ERR: contains `self` is not supported at the top-level of a language. See documentation." + "ERR: contains `self` is not supported at the top-level of a language. See documentation.", ); return (function t(s, o) { const l = s; @@ -683,7 +683,7 @@ var hljs = (function () { s.lexemes && c) ) throw Error( - "ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) " + "ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ", ); return ( (l.keywordPatternRe = n(s.lexemes || c || /\w+/, !0)), @@ -718,15 +718,15 @@ var hljs = (function () { e.cached_variants ? e.cached_variants : (function e(n) { - return !!n && (n.endsWithParent || e(n.starts)); - })(e) - ? r(e, { starts: e.starts ? r(e.starts) : null }) - : Object.isFrozen(e) - ? r(e) - : e + return !!n && (n.endsWithParent || e(n.starts)); + })(e) + ? r(e, { starts: e.starts ? r(e.starts) : null }) + : Object.isFrozen(e) + ? r(e) + : e ); })("self" === e ? s : e); - }) + }), )), s.contains.forEach(function (e) { t(e, l); @@ -736,7 +736,7 @@ var hljs = (function () { const n = new a(); return ( e.contains.forEach((e) => - n.addRule(e.begin, { rule: e, type: "begin" }) + n.addRule(e.begin, { rule: e, type: "begin" }), ), e.terminator_end && n.addRule(e.terminator_end, { type: "end" }), @@ -847,8 +847,8 @@ var hljs = (function () { ? "
" : e : f.tabReplace - ? e.replace(/\t/g, f.tabReplace) - : e + ? e.replace(/\t/g, f.tabReplace) + : e, ) : e; } @@ -865,7 +865,7 @@ var hljs = (function () { (console.warn(g.replace("{}", t[1])), console.warn( "Falling back to no-highlight mode for this block.", - e + e, )), r ? t[1] : "no-highlight" ); @@ -957,8 +957,8 @@ var hljs = (function () { (console.error( "Language definition for '{}' could not be registered.".replace( "{}", - e - ) + e, + ), ), !l) ) @@ -979,7 +979,7 @@ var hljs = (function () { var n = T(e); if (n) return n; throw Error( - "The '{}' language is required, but not loaded.".replace("{}", e) + "The '{}' language is required, but not loaded.".replace("{}", e), ); }, autoDetection: I, @@ -1127,7 +1127,7 @@ hljs.registerLanguage( ], }; }; - })() + })(), ); hljs.registerLanguage( "markdown", @@ -1252,7 +1252,7 @@ hljs.registerLanguage( } ); }; - })() + })(), ); hljs.registerLanguage( "perl", @@ -1347,7 +1347,7 @@ hljs.registerLanguage( { name: "Perl", aliases: ["pl", "pm"], keywords: n, contains: a } ); }; - })() + })(), ); hljs.registerLanguage( "plaintext", @@ -1360,7 +1360,7 @@ hljs.registerLanguage( disableAutodetect: !0, }; }; - })() + })(), ); hljs.registerLanguage( "ini", @@ -1427,7 +1427,7 @@ hljs.registerLanguage( "(\\s*\\.\\s*", g, ")*", - n("(?=", /\s*=\s*[^#\s]/, ")") + n("(?=", /\s*=\s*[^#\s]/, ")"), ), className: "attr", starts: { end: /$/, contains: [i, c, r, t, l, s] }, @@ -1435,7 +1435,7 @@ hljs.registerLanguage( ], }; }; - })() + })(), ); hljs.registerLanguage( "json", @@ -1481,7 +1481,7 @@ hljs.registerLanguage( { name: "JSON", contains: t, keywords: e, illegal: "\\S" } ); }; - })() + })(), ); hljs.registerLanguage( "ruby", @@ -1626,7 +1626,7 @@ hljs.registerLanguage( contains: r.concat(g).concat(d), }; }; - })() + })(), ); hljs.registerLanguage( "yaml", @@ -1737,7 +1737,7 @@ hljs.registerLanguage( } ); }; - })() + })(), ); hljs.registerLanguage( "haskell", @@ -1837,7 +1837,7 @@ hljs.registerLanguage( ], }; }; - })() + })(), ); hljs.registerLanguage( "nix", @@ -1876,7 +1876,7 @@ hljs.registerLanguage( { name: "Nix", aliases: ["nixos"], keywords: n, contains: s } ); }; - })() + })(), ); hljs.registerLanguage( "bash", @@ -1953,7 +1953,7 @@ hljs.registerLanguage( ], }; }; - })() + })(), ); hljs.registerLanguage( "shell", @@ -1972,7 +1972,7 @@ hljs.registerLanguage( ], }; }; - })() + })(), ); hljs.registerLanguage( "python", @@ -2092,5 +2092,5 @@ hljs.registerLanguage( } ); }; - })() + })(), ); diff --git a/docs/theme/pagetoc.js b/docs/theme/pagetoc.js index 49e0bf97..4f454499 100644 --- a/docs/theme/pagetoc.js +++ b/docs/theme/pagetoc.js @@ -1,49 +1,58 @@ // Un-active everything when you click it -Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.addEventHandler("click", function() { - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.classList.remove("active"); - }); - el.classList.add("active"); +Array.prototype.forEach.call( + document.getElementsByClassName("pagetoc")[0].children, + function (el) { + el.addEventHandler("click", function () { + Array.prototype.forEach.call( + document.getElementsByClassName("pagetoc")[0].children, + function (el) { + el.classList.remove("active"); + }, + ); + el.classList.add("active"); }); -}); + }, +); -var updateFunction = function() { +var updateFunction = function () { + var id; + var elements = document.getElementsByClassName("header"); + Array.prototype.forEach.call(elements, function (el) { + if (window.pageYOffset >= el.offsetTop) { + id = el; + } + }); - var id; - var elements = document.getElementsByClassName("header"); - Array.prototype.forEach.call(elements, function(el) { - if (window.pageYOffset >= el.offsetTop) { - id = el; - } - }); - - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.classList.remove("active"); - }); - if (!id) return; - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - if (id.href.localeCompare(el.href) == 0) { - el.classList.add("active"); - } - }); + Array.prototype.forEach.call( + document.getElementsByClassName("pagetoc")[0].children, + function (el) { + el.classList.remove("active"); + }, + ); + if (!id) return; + Array.prototype.forEach.call( + document.getElementsByClassName("pagetoc")[0].children, + function (el) { + if (id.href.localeCompare(el.href) == 0) { + el.classList.add("active"); + } + }, + ); }; // Populate sidebar on load -window.addEventListener('load', function() { - var pagetoc = document.getElementsByClassName("pagetoc")[0]; - var elements = document.getElementsByClassName("header"); - Array.prototype.forEach.call(elements, function (el) { - var link = document.createElement("a"); - link.appendChild(document.createTextNode(el.text)); - link.href = el.href; - link.classList.add("pagetoc-" + el.parentElement.tagName); - pagetoc.appendChild(link); - }); - updateFunction.call(); +window.addEventListener("load", function () { + var pagetoc = document.getElementsByClassName("pagetoc")[0]; + var elements = document.getElementsByClassName("header"); + Array.prototype.forEach.call(elements, function (el) { + var link = document.createElement("a"); + link.appendChild(document.createTextNode(el.text)); + link.href = el.href; + link.classList.add("pagetoc-" + el.parentElement.tagName); + pagetoc.appendChild(link); + }); + updateFunction.call(); }); - - // Handle active elements on scroll window.addEventListener("scroll", updateFunction); diff --git a/flake.lock b/flake.lock index 38b25174..bf6598a3 100644 --- a/flake.lock +++ b/flake.lock @@ -100,11 +100,11 @@ }, "lib": { "locked": { - "lastModified": 1722128034, - "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "lastModified": 1728781282, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", "type": "github" }, "original": { @@ -115,16 +115,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720535198, - "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 2b1ea2be..5fd445da 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ { description = "The Nix Flakes framework for perfectionists with deadlines"; # override downstream with inputs.std.inputs.nixpkgs.follows = ... - inputs.nixpkgs.url = "github:nixos/nixpkgs/release-23.11"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.lib.url = "github:nix-community/nixpkgs.lib"; inputs = { paisano.url = "github:paisano-nix/core/0.2.0"; diff --git a/src/data/configs/treefmt.nix b/src/data/configs/treefmt.nix index 20edc0bb..b0ef4e4d 100644 --- a/src/data/configs/treefmt.nix +++ b/src/data/configs/treefmt.nix @@ -10,6 +10,9 @@ in { ]; data = { + global.excludes = [ + "**/flake.lock" # just for treefmt cries that formatter is not configured + ]; formatter = { nix = { command = lib.getExe nixpkgs.alejandra; diff --git a/src/local/configs.nix b/src/local/configs.nix index e075208c..58a43528 100644 --- a/src/local/configs.nix +++ b/src/local/configs.nix @@ -2,7 +2,7 @@ inputs, cell, }: let - inherit (inputs) nixpkgs; + inherit (inputs) nixpkgs dmerge; inherit (inputs.std.data) configs; inherit (inputs.std.lib.dev) mkNixago; in { @@ -15,7 +15,10 @@ in { }; treefmt = (mkNixago configs.treefmt) { data = { - global.excludes = ["src/std/templates/**"]; + global.excludes = dmerge.append [ + "CHANGELOG.md" # significantly reformats the file structure + "src/std/templates/**" + ]; formatter = { go = { command = "gofmt"; diff --git a/src/local/flake.lock b/src/local/flake.lock index c91cce84..e74c790c 100644 --- a/src/local/flake.lock +++ b/src/local/flake.lock @@ -35,15 +35,14 @@ "nixpkgs": [ "std", "nixpkgs" - ], - "systems": "systems" + ] }, "locked": { - "lastModified": 1687173957, - "narHash": "sha256-GOds2bAQcZ94fb9/Nl/aM+r+0wGSi4EKYuZYR8Dw4R8=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "2cf83bb31720fcc29a999aee28d6da101173e66a", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -83,12 +82,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -157,11 +159,11 @@ }, "lib": { "locked": { - "lastModified": 1722128034, - "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "lastModified": 1728781282, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", "type": "github" }, "original": { @@ -179,11 +181,11 @@ ] }, "locked": { - "lastModified": 1685771919, - "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", "owner": "nlewo", "repo": "nix2container", - "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", "type": "github" }, "original": { @@ -228,11 +230,11 @@ ] }, "locked": { - "lastModified": 1687381756, - "narHash": "sha256-IUMIlYfrvj7Yli4H2vvyig8HEPpfCeMaE6+kBGPzFyk=", + "lastModified": 1714086354, + "narHash": "sha256-yKVQMxL9p7zCWUhnGhDzRVT8sDgHoI3V595lBK0C2YA=", "owner": "nix-community", "repo": "nixago", - "rev": "dacceb10cace103b3e66552ec9719fa0d33c0dc9", + "rev": "5133633e9fe6b144c8e00e3b212cdbd5a173b63d", "type": "github" }, "original": { @@ -243,16 +245,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720535198, - "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -364,13 +366,13 @@ "yants": "yants" }, "locked": { - "lastModified": 1, - "narHash": "sha256-R+kgZygzHmVjdN64mJqNzZd8wj2wW4goAGb9bfrnnGk=", - "path": "/nix/store/w579nzy4r8siqn3xv5qh17qw0463jp6i-source", + "lastModified": 0, + "narHash": "sha256-vhYIaqlJC54U+ZbhM7BNnQvhjO5i3RJFqpaSBkhCK94=", + "path": "/nix/store/qnl0p6pki17h0n2daj30brmyyvabl8q2-source", "type": "path" }, "original": { - "path": "/nix/store/w579nzy4r8siqn3xv5qh17qw0463jp6i-source", + "path": "/nix/store/qnl0p6pki17h0n2daj30brmyyvabl8q2-source", "type": "path" } }, diff --git a/src/std/fwlib/actions/build-proviso.sh b/src/std/fwlib/actions/build-proviso.sh index 88bf67f9..da2c2605 100644 --- a/src/std/fwlib/actions/build-proviso.sh +++ b/src/std/fwlib/actions/build-proviso.sh @@ -1,11 +1,11 @@ declare action="$1" declare targetDrv -eval "$(jq -r '@sh "targetDrv=\(.targetDrv)"' <<< "$action" )" +eval "$(jq -r '@sh "targetDrv=\(.targetDrv)"' <<<"$action")" mapfile -t uncached < <( - command nix-store --realise --dry-run "$targetDrv" 2>&1 1>/dev/null \ - | command sed -nr ' + command nix-store --realise --dry-run "$targetDrv" 2>&1 1>/dev/null | + command sed -nr ' # If the line "will be built" is matched ... /will be built/ { # Create a label to iterate over dervivations @@ -28,18 +28,17 @@ mapfile -t uncached < <( ' ) -if [[ ${#uncached[@]} -eq 0 ]]; -then +if [[ ${#uncached[@]} -eq 0 ]]; then exit 1 fi if ! ( - command nix show-derivation ''${uncached[@]} 2> /dev/null \ - | command jq --exit-status \ - ' with_entries( + command nix show-derivation ''${uncached[@]} 2>/dev/null | + command jq --exit-status \ + ' with_entries( select(.value|.env.preferLocalBuild != "1") ) | any - ' 1> /dev/null + ' 1>/dev/null ); then exit 1 fi diff --git a/src/std/fwlib/blockTypes/containers-proviso.sh b/src/std/fwlib/blockTypes/containers-proviso.sh index 123a3150..d40ef1b1 100644 --- a/src/std/fwlib/blockTypes/containers-proviso.sh +++ b/src/std/fwlib/blockTypes/containers-proviso.sh @@ -1,7 +1,7 @@ declare action="$1" declare image -eval "$(jq -r '@sh "image=\(.meta.image)"' <<< "$action" )" +eval "$(jq -r '@sh "image=\(.meta.image)"' <<<"$action")" if command skopeo inspect --insecure-policy "docker://$image" &>/dev/null; then exit 1 diff --git a/src/std/fwlib/blockTypes/devshells.nix b/src/std/fwlib/blockTypes/devshells.nix index 00c292ee..8f1e56f4 100644 --- a/src/std/fwlib/blockTypes/devshells.nix +++ b/src/std/fwlib/blockTypes/devshells.nix @@ -1,4 +1,4 @@ -{ +{ root, super, }: diff --git a/src/std/fwlib/flakeModule.nix b/src/std/fwlib/flakeModule.nix index 2fc5d9bc..462a6bd7 100644 --- a/src/std/fwlib/flakeModule.nix +++ b/src/std/fwlib/flakeModule.nix @@ -168,12 +168,12 @@ in }; config = { flake = let - grown = grow ({ - inherit inputs; - inherit (config) systems; - # access them explicitly to trigger a module system error if not defined - inherit (cfg.grow) cellsFrom cellBlocks nixpkgsConfig; - }); + grown = grow { + inherit inputs; + inherit (config) systems; + # access them explicitly to trigger a module system error if not defined + inherit (cfg.grow) cellsFrom cellBlocks nixpkgsConfig; + }; picked = mapAttrs (_: v: pick grown v) cfg.pick; harvested = mapAttrs (_: v: harvest grown v) cfg.harvest; winnowed = zipAttrsWith (n: v: winnow (head v) grown (head (tail v))) [cfg.winnowIf cfg.winnow]; diff --git a/src/tests/flake.lock b/src/tests/flake.lock index 61d7f383..b760433c 100644 --- a/src/tests/flake.lock +++ b/src/tests/flake.lock @@ -4,17 +4,18 @@ "inputs": { "flake-parts": "flake-parts", "haskell-flake": "haskell-flake", + "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ "std", "nixpkgs" ] }, "locked": { - "lastModified": 1682181677, - "narHash": "sha256-El8WQ2ccxWwkSrjuwKNR0gD/O7vS/KLBY4Q2/nF8m1c=", + "lastModified": 1722825873, + "narHash": "sha256-bFNXkD+s9NuidZePiJAjjFUnsMOwXb7hEZ4JEDdSALw=", "owner": "hercules-ci", "repo": "arion", - "rev": "6a1f03329c400327b3b2e0ed5e1efff11037ba67", + "rev": "90bc85532767c785245f5c1e29ebfecb941cf8c9", "type": "github" }, "original": { @@ -58,15 +59,14 @@ "nixpkgs": [ "std", "nixpkgs" - ], - "systems": "systems" + ] }, "locked": { - "lastModified": 1687173957, - "narHash": "sha256-GOds2bAQcZ94fb9/Nl/aM+r+0wGSi4EKYuZYR8Dw4R8=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "2cf83bb31720fcc29a999aee28d6da101173e66a", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -113,11 +113,11 @@ ] }, "locked": { - "lastModified": 1675933616, - "narHash": "sha256-/rczJkJHtx16IFxMmAWu5nNYcSXNg1YYXTHoGjLrLUA=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "47478a4a003e745402acf63be7f9a092d51b83d7", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -127,15 +127,36 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "arion", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { @@ -144,31 +165,33 @@ "type": "github" } }, - "flake-utils": { + "flake-parts_4": { "inputs": { - "systems": "systems_2" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "id": "flake-parts", + "type": "indirect" } }, - "flake-utils_2": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -177,13 +200,16 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -192,13 +218,13 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -245,6 +271,28 @@ "type": "github" } }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "arion", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1719226092, + "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "incl": { "inputs": { "nixlib": [ @@ -268,11 +316,11 @@ }, "lib": { "locked": { - "lastModified": 1722128034, - "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "lastModified": 1728781282, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", "type": "github" }, "original": { @@ -289,11 +337,11 @@ ] }, "locked": { - "lastModified": 1687381438, - "narHash": "sha256-fdN+9as0dGFR+S5Ea6hqLtNhiy52kPaZuGlRGxlyQZY=", + "lastModified": 1724357194, + "narHash": "sha256-SpLconQl3/CGhgY8V9i4LbouIetQwHs+BajfA13qYkE=", "owner": "fluidattacks", "repo": "makes", - "rev": "78993b56802419ba5e56c22471a12349e66be47b", + "rev": "cf2105dee74e005b0c302d39d58c869c011802dd", "type": "github" }, "original": { @@ -308,14 +356,15 @@ "nixpkgs": [ "std", "nixpkgs" - ] + ], + "spectrum": "spectrum" }, "locked": { - "lastModified": 1687369979, - "narHash": "sha256-pSkc15k9yug3vwnri5quvi0R6LHR4u7J0/8FkTpFlmQ=", + "lastModified": 1728779945, + "narHash": "sha256-RFKyZygnUbJlWq1uBn4JvEEcQKZW3AFBL3bQoywECPI=", "owner": "astro", "repo": "microvm.nix", - "rev": "c14833d8506a784f0b3cf91a2b864acb05662711", + "rev": "4d81c4115ef832880561f243efec21f06d2a8b7c", "type": "github" }, "original": { @@ -333,11 +382,11 @@ ] }, "locked": { - "lastModified": 1685771919, - "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", "owner": "nlewo", "repo": "nix2container", - "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", "type": "github" }, "original": { @@ -382,11 +431,11 @@ ] }, "locked": { - "lastModified": 1687381756, - "narHash": "sha256-IUMIlYfrvj7Yli4H2vvyig8HEPpfCeMaE6+kBGPzFyk=", + "lastModified": 1714086354, + "narHash": "sha256-yKVQMxL9p7zCWUhnGhDzRVT8sDgHoI3V595lBK0C2YA=", "owner": "nix-community", "repo": "nixago", - "rev": "dacceb10cace103b3e66552ec9719fa0d33c0dc9", + "rev": "5133633e9fe6b144c8e00e3b212cdbd5a173b63d", "type": "github" }, "original": { @@ -397,36 +446,42 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720535198, - "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1685564631, - "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", - "type": "github" + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" } }, "nosys": { @@ -493,7 +548,7 @@ "inputs": { "arion": "arion", "devshell": "devshell", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "makes": "makes", "microvm": "microvm", "n2c": "n2c", @@ -503,6 +558,22 @@ "terranix": "terranix" } }, + "spectrum": { + "flake": false, + "locked": { + "lastModified": 1720264467, + "narHash": "sha256-xzM92n3Q9L90faJIJrkrTtTx+JqCGRHMkHWztkV4PuY=", + "ref": "refs/heads/main", + "rev": "fb59d42542049f586c84b0f8bb86ff3be338e9d3", + "revCount": 674, + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + }, + "original": { + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + } + }, "std": { "inputs": { "arion": [ @@ -538,13 +609,13 @@ "yants": "yants" }, "locked": { - "lastModified": 1, - "narHash": "sha256-4jz2Kz+zKEbGJnpnE5PUqWp2GAthNhP+zIC8wLJqn28=", - "path": "/nix/store/ilww27xvk5605hxhx8b6xlw14ky4qhrp-source", + "lastModified": 0, + "narHash": "sha256-jqK9WMDinOwNjpHKyrkwfZTPLJ5Ja3qQtWL+NSL8fWk=", + "path": "/nix/store/31hjl8knpvqiszlr2ppdslc244k0scfp-source", "type": "path" }, "original": { - "path": "/nix/store/ilww27xvk5605hxhx8b6xlw14ky4qhrp-source", + "path": "/nix/store/31hjl8knpvqiszlr2ppdslc244k0scfp-source", "type": "path" } }, @@ -578,23 +649,39 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "terranix": { "inputs": { "bats-assert": [], "bats-support": [], - "flake-utils": "flake-utils_4", + "flake-parts": "flake-parts_4", "nixpkgs": [ "std", "nixpkgs" ], + "systems": "systems_3", "terranix-examples": [] }, "locked": { - "lastModified": 1684906298, - "narHash": "sha256-pNuJxmVMGbBHw7pa+Bx0HY0orXIXoyyAXOKuQ1zpfus=", + "lastModified": 1728959489, + "narHash": "sha256-1Pu2j5xsBTuoyga08ZVf+rKp3FOMmJh/0fXen/idOrA=", "owner": "terranix", "repo": "terranix", - "rev": "c0dd15076856c6cb425795b8c7d5d37d3a1e922a", + "rev": "7734e2ee6a1472807a33ce1e7da794bed2aaf91c", "type": "github" }, "original": {