From 9555b4dfd0818b832de6b7b8a690167abd305273 Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Wed, 16 Apr 2025 23:17:11 -0400 Subject: [PATCH 01/11] chore: add project configuration files and update development setup --- .editorconfig | 15 + .envrc | 6 +- .github/workflows/lint.yml | 56 + .gitignore | 3 +- .php-cs-fixer.php | 239 --- CONTRIBUTING.md | 57 +- docker-compose.yml | 34 + flake.lock | 3602 +++++++++++++++++++++++++++++++++--- flake.nix | 37 +- pint.json | 5 + 10 files changed, 3498 insertions(+), 556 deletions(-) create mode 100644 .editorconfig create mode 100644 .github/workflows/lint.yml delete mode 100644 .php-cs-fixer.php create mode 100644 docker-compose.yml create mode 100644 pint.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6537ca4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 diff --git a/.envrc b/.envrc index cffc922..9876f18 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,5 @@ -use flake . --impure +export NIXPKGS_ALLOW_UNFREE=1 + +if ! use flake . --impure --allow-dirty --accept-flake-config ; then + echo "Snowblower shell could not be loaded." >&2 +fi diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..7848fa9 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,56 @@ +name: "Lint" + +on: + push: + pull_request: + +env: + PHP_VERSION: "8.2" + +jobs: + phplint: + name: phplint + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - name: "Checkout" + uses: "actions/checkout@v4" + + - name: "Setup cache environment" + id: "extcache" + uses: "shivammathur/cache-extensions@v1" + with: + php-version: ${{ env.PHP_VERSION }} + + - name: "Cache extensions" + uses: "actions/cache@v4" + with: + path: ${{ steps.extcache.outputs.dir }} + key: ${{ steps.extcache.outputs.key }} + restore-keys: ${{ steps.extcache.outputs.key }} + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + extensions: json, dom, curl, libxml, mbstring + php-version: ${{ env.PHP_VERSION }} + + - name: "Install dependencies with Composer" + uses: "ramsey/composer-install@3.1.0" + with: + composer-options: "--no-suggest" + + - name: "Format the code" + continue-on-error: true + run: ./vendor/bin/pint --config ./pint.json + + - name: "Commit the changes" + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "apply pint formatting" diff --git a/.gitignore b/.gitignore index 0cf9721..8a8a699 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ vendor !secrets/.env* .sb* secrets.nix +.aider* # pre-commit .pre-commit-config.yaml @@ -26,4 +27,4 @@ coverage phpunit.xml phpstan.neon testbench.yaml -node_modules \ No newline at end of file +node_modules diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php deleted file mode 100644 index ff37e37..0000000 --- a/.php-cs-fixer.php +++ /dev/null @@ -1,239 +0,0 @@ - true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'default' => 'single_space', - ], - 'blank_line_after_namespace' => true, - 'blank_line_after_opening_tag' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'continue', - 'return', - ], - ], - 'blank_line_between_import_groups' => true, - 'blank_lines_before_namespace' => true, - 'braces_position' => [ - 'control_structures_opening_brace' => 'same_line', - 'functions_opening_brace' => 'next_line_unless_newline_at_signature_end', - 'anonymous_functions_opening_brace' => 'same_line', - 'classes_opening_brace' => 'next_line_unless_newline_at_signature_end', - 'anonymous_classes_opening_brace' => 'next_line_unless_newline_at_signature_end', - 'allow_single_line_empty_anonymous_classes' => false, - 'allow_single_line_anonymous_functions' => false, - ], - 'cast_spaces' => true, - 'class_attributes_separation' => [ - 'elements' => [ - 'const' => 'one', - 'method' => 'one', - 'property' => 'one', - 'trait_import' => 'none', - ], - ], - 'class_definition' => [ - 'multi_line_extends_each_single_line' => true, - 'single_item_single_line' => true, - 'single_line' => true, - ], - 'class_reference_name_casing' => true, - 'clean_namespace' => true, - 'compact_nullable_type_declaration' => true, - 'concat_space' => [ - 'spacing' => 'none', - ], - 'constant_case' => ['case' => 'lower'], - 'control_structure_braces' => true, - 'control_structure_continuation_position' => [ - 'position' => 'same_line', - ], - 'declare_equal_normalize' => true, - 'declare_parentheses' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'fully_qualified_strict_types' => false, - 'function_declaration' => true, - 'general_phpdoc_tag_rename' => true, - 'heredoc_to_nowdoc' => true, - 'include' => true, - 'increment_style' => ['style' => 'post'], - 'indentation_type' => true, - 'integer_literal_case' => true, - 'lambda_not_used_import' => true, - 'line_ending' => true, - 'linebreak_after_opening_tag' => true, - 'list_syntax' => true, - 'lowercase_cast' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'magic_method_casing' => true, - 'method_argument_space' => [ - 'on_multiline' => 'ignore', - ], - 'method_chaining_indentation' => true, - 'multiline_whitespace_before_semicolons' => [ - 'strategy' => 'no_multi_line', - ], - 'native_function_casing' => true, - 'native_type_declaration_casing' => true, - 'no_alias_functions' => true, - 'no_alias_language_construct_call' => true, - 'no_alternative_syntax' => true, - 'no_binary_string' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => [ - 'tokens' => [ - 'extra', - 'throw', - 'use', - ], - ], - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => [ - 'use' => 'echo', - ], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_multiple_statements_per_line' => true, - 'no_short_bool_cast' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_space_around_double_colon' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_around_offset' => [ - 'positions' => ['inside', 'outside'], - ], - 'no_superfluous_phpdoc_tags' => [ - 'allow_mixed' => true, - 'allow_unused_params' => true, - ], - 'no_trailing_comma_in_singleline' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => [ - 'statements' => ['break', 'clone', 'continue', 'echo_print', 'return', 'switch_case', 'yield'], - ], - 'no_unneeded_braces' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_cast' => true, - 'no_unused_imports' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'normalize_index_brace' => true, - 'not_operator_with_successor_space' => true, - 'nullable_type_declaration' => true, - 'nullable_type_declaration_for_default_null_value' => true, - 'object_operator_without_whitespace' => true, - 'ordered_imports' => ['sort_algorithm' => 'alpha', 'imports_order' => ['const', 'class', 'function']], - 'ordered_interfaces' => true, - 'ordered_traits' => true, - 'phpdoc_align' => [ - 'align' => 'left', - 'spacing' => [ - 'param' => 2, - ], - ], - 'phpdoc_indent' => true, - 'phpdoc_inline_tag_normalizer' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_package' => true, - 'phpdoc_no_useless_inheritdoc' => true, - 'phpdoc_order' => [ - 'order' => ['param', 'return', 'throws'], - ], - 'phpdoc_scalar' => true, - 'phpdoc_separation' => [ - 'groups' => [ - ['deprecated', 'link', 'see', 'since'], - ['author', 'copyright', 'license'], - ['category', 'package', 'subpackage'], - ['property', 'property-read', 'property-write'], - ['param', 'return'], - ], - ], - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_summary' => false, - 'phpdoc_tag_type' => [ - 'tags' => [ - 'inheritdoc' => 'inline', - ], - ], - 'phpdoc_to_comment' => false, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_var_without_name' => true, - 'psr_autoloading' => false, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => false, - 'self_static_accessor' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => false, - 'single_blank_line_at_eof' => true, - 'single_class_element_per_statement' => [ - 'elements' => ['const', 'property'], - ], - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_line_comment_style' => [ - 'comment_types' => ['hash'], - ], - 'single_line_empty_body' => true, - 'single_quote' => true, - 'single_space_around_construct' => true, - 'space_after_semicolon' => true, - 'spaces_inside_parentheses' => true, - 'standardize_not_equals' => true, - 'statement_indentation' => true, - 'switch_case_semicolon_to_colon' => true, - 'switch_case_space' => true, - 'ternary_operator_spaces' => true, - 'trailing_comma_in_multiline' => ['elements' => ['arrays']], - 'trim_array_spaces' => true, - 'type_declaration_spaces' => true, - 'types_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => [ - 'elements' => ['method', 'property'], - ], - 'whitespace_after_comma_in_array' => true, - 'yoda_style' => [ - 'always_move_variable' => false, - 'equal' => false, - 'identical' => false, - 'less_and_greater' => false, - ], - 'declare_strict_types' => true, - 'explicit_string_variable' => true, - ]; - - $finder = Finder::create() - ->in([ - __DIR__.'/src', - __DIR__.'/tests', - ]) - ->name('*.php') - ->notName('*.blade.php') - ->ignoreDotFiles(true) - ->ignoreVCS(true); - - $config = new Config(); - - return $config->setFinder($finder) - ->setRules($rules) - ->setRiskyAllowed(true) - ->setUsingCache(true); diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a4b252..371a0fa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,13 +18,42 @@ If you do not run nix develop --impure ``` -this will pull down all dependencies, install hooks and formatters etc. If done correctly you should see a screen like this: +this will pull down all dependencies, install hooks and formatters etc. -![img.png](assets/contributeing-install-success.png) +### Docker Setup -### Development +For those who prefer Docker, we've included a `docker-compose.yml` file to quickly set up a development environment with all required services. -During development, you will need to start a local elasticsearch instance. To start elasticsearch run: +1. Make sure you have Docker and Docker Compose installed on your system. + +2. Start the development environment: + +```sh +docker-compose up -d +``` + +This will start: +- Elasticsearch (accessible at http://localhost:9200) +- Kibana (accessible at http://localhost:5601) +- Redis (accessible at localhost:6379) + +All services include health checks to ensure they're properly initialized before use. + +3. To stop the environment: + +```sh +docker-compose down +``` + +4. To view logs from the services: + +```sh +docker-compose logs -f +``` + +### Development with Nix + +During development with the Nix setup, you will need to start a local elasticsearch instance. To start elasticsearch run: ```sh just up @@ -32,6 +61,22 @@ just up This will start process-compose and an elastic search instance. -![img.png](assets/contributing-just-up.png) - You can now open a new terminal window and run tests using pest. For conviance purposes the nix shell has the command `p` linked to run `./vendor/bin/pest` and `pf` linked to run `./vendor/bin/pest --filter "$@"`. + +### Development with Docker + +When using the Docker setup, all required services are already running after executing `docker-compose up -d`. You can run tests directly against these services. + +To run tests: + +```sh +./vendor/bin/pest +``` + +To run a specific test: + +```sh +./vendor/bin/pest --filter="test_name" +``` + +The Docker environment provides all necessary services configured with appropriate default settings for development and testing. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3e29f0b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +services: + elasticsearch: + image: elasticsearch:8.18.0 + ports: + - "9200:9200" + environment: + - discovery.type=single-node + - xpack.security.enabled=false + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "curl -s http://localhost:9200/_cluster/health | grep -q '\"status\":\"green\"\\|\"status\":\"yellow\"'"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + kibana: + depends_on: + elasticsearch: + condition: service_healthy + image: kibana:8.18.0 + restart: unless-stopped + ports: + - "5601:5601" + redis: + image: redis:7-alpine + ports: + - "6379:6379" + restart: unless-stopped + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 3s + retries: 3 + start_period: 5s diff --git a/flake.lock b/flake.lock index 9bc2de6..fccd8ed 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,37 @@ { "nodes": { + "actions-nix": { + "inputs": { + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "flake-parts" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "pre-commit-hooks": [ + "snow-blower", + "flake-parts-website", + "git-hooks-nix" + ] + }, + "locked": { + "lastModified": 1743751939, + "narHash": "sha256-yhOXxFkj6xdV0cfPmCjYTwdUllCpLAWn+1d7BEGR0wo=", + "owner": "nialov", + "repo": "actions.nix", + "rev": "8ce72bfc8fb713a44ef0d9943ce8d7059b332778", + "type": "github" + }, + "original": { + "owner": "nialov", + "repo": "actions.nix", + "type": "github" + } + }, "agenix": { "inputs": { "darwin": "darwin", @@ -8,11 +40,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1722339003, - "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=", + "lastModified": 1736955230, + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", "owner": "ryantm", "repo": "agenix", - "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7", + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", "type": "github" }, "original": { @@ -21,547 +53,3483 @@ "type": "github" } }, - "darwin": { + "agenix-rekey": { "inputs": { + "devshell": "devshell", + "flake-parts": "flake-parts_3", "nixpkgs": [ "snow-blower", - "agenix", + "flake-parts-website", "nixpkgs" - ] + ], + "pre-commit-hooks": "pre-commit-hooks", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "lastModified": 1742656338, + "narHash": "sha256-Vkg5dyXKwoAfEVlKPxbCbdTCF9sXmTySZBSL28Kcdmo=", + "owner": "oddlama", + "repo": "agenix-rekey", + "rev": "b677dbe0d675c68a19dedbc771aff22de76b11ea", "type": "github" }, "original": { - "owner": "lnl7", - "ref": "master", - "repo": "nix-darwin", + "owner": "oddlama", + "repo": "agenix-rekey", "type": "github" } }, - "flake-compat": { - "flake": false, + "agenix-shell": { + "inputs": { + "flake-parts": "flake-parts_4", + "flake-root": "flake-root", + "git-hooks-nix": "git-hooks-nix", + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1743322435, + "narHash": "sha256-olCWG1CNm3qfc296IpPy/bq/I7goNplBqMl4jIoOW6c=", + "owner": "aciceri", + "repo": "agenix-shell", + "rev": "19b35e55b4f33cf1527affc7f91aece1c6dea3f9", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "aciceri", + "repo": "agenix-shell", "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "all-cabal-json": { + "flake": false, + "locked": { + "lastModified": 1665552503, + "narHash": "sha256-r14RmRSwzv5c+bWKUDaze6pXM7nOsiz1H8nvFHJvufc=", + "owner": "nix-community", + "repo": "all-cabal-json", + "rev": "d7c0434eebffb305071404edcf9d5cd99703878e", + "type": "github" }, + "original": { + "owner": "nix-community", + "ref": "hackage", + "repo": "all-cabal-json", + "type": "github" + } + }, + "blank": { "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "divnix", + "repo": "blank", "type": "github" } }, - "flake-parts_2": { + "cachix": { "inputs": { - "nixpkgs-lib": [ + "devenv": [ "snow-blower", - "nixpkgs" - ] + "flake-parts-website", + "devenv" + ], + "flake-compat": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "git-hooks": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "lastModified": 1742042642, + "narHash": "sha256-D0gP8srrX0qj+wNYNPdtVJsQuFzIng3q43thnHXQ/es=", + "owner": "cachix", + "repo": "cachix", + "rev": "a624d3eaf4b1d225f918de8543ed739f2f574203", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "cachix", + "ref": "latest", + "repo": "cachix", "type": "github" } }, - "flake-root": { + "call-flake": { "locked": { - "lastModified": 1713493429, - "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=", - "owner": "srid", - "repo": "flake-root", - "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd", + "lastModified": 1698542398, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "4c92816c2ba27a91f8252a9305a14173e1293571", "type": "github" }, "original": { - "owner": "srid", - "repo": "flake-root", + "owner": "divnix", + "repo": "call-flake", "type": "github" } }, - "flake-utils": { + "call-flake_2": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "lastModified": 1687380775, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "74061f6c241227cd05e79b702db9a300a2e4131a", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "divnix", + "repo": "call-flake", "type": "github" } }, - "flake-utils_2": { + "commonmark-simple": { + "flake": false, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "lastModified": 1707333942, + "narHash": "sha256-o1am93UXviPVdwwPPL5DcD8M4gwFple8SKw/lVmixa8=", + "owner": "srid", + "repo": "commonmark-simple", + "rev": "0308362957d77eea462c2c99d110820fbf30b4b8", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "srid", + "repo": "commonmark-simple", "type": "github" } }, - "flake-utils_3": { + "commonmark-wikilink": { + "flake": false, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "lastModified": 1738248145, + "narHash": "sha256-UN2Nh+uf+DzM336Ojzr6YZV4RJy8BPx9Q5GZpax3wt0=", + "owner": "srid", + "repo": "commonmark-wikilink", + "rev": "1d7aa327fb33b41f3c4899d5b29aa122780c900f", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "srid", + "repo": "commonmark-wikilink", "type": "github" } }, - "flake-utils_4": { + "crane": { + "flake": false, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "lastModified": 1681175776, + "narHash": "sha256-7SsUy9114fryHAZ8p1L6G6YSu7jjz55FddEwa2U8XZc=", + "owner": "ipetkov", + "repo": "crane", + "rev": "445a3d222947632b5593112bb817850e8a9cf737", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "ipetkov", + "ref": "v0.12.1", + "repo": "crane", "type": "github" } }, - "flake-utils_5": { + "crane_2": { + "flake": false, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "lastModified": 1727316705, + "narHash": "sha256-/mumx8AQ5xFuCJqxCIOFCHTVlxHkMT21idpbgbm/TIE=", + "owner": "ipetkov", + "repo": "crane", + "rev": "5b03654ce046b5167e7b0bccbd8244cb56c16f0e", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "ipetkov", + "ref": "v0.19.0", + "repo": "crane", "type": "github" } }, - "git-hooks": { + "crane_3": { + "locked": { + "lastModified": 1736566337, + "narHash": "sha256-SC0eDcZPqISVt6R0UfGPyQLrI0+BppjjtQ3wcSlk0oI=", + "owner": "ipetkov", + "repo": "crane", + "rev": "9172acc1ee6c7e1cbafc3044ff850c568c75a5a3", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "darwin": { "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", "nixpkgs": [ "snow-blower", + "agenix", "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" + ] }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", "type": "github" } }, - "gitignore": { + "devenv": { "inputs": { + "cachix": "cachix", + "flake-compat": "flake-compat_3", + "git-hooks": "git-hooks", + "nix": "nix", "nixpkgs": [ "snow-blower", - "git-hooks", + "flake-parts-website", "nixpkgs" ] }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1743783972, + "narHash": "sha256-5wPsNCnWmeLpLxavsftA9L7tnYgtlexV7FwLegxtpy4=", + "owner": "cachix", + "repo": "devenv", + "rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "cachix", + "repo": "devenv", "type": "github" } }, - "home-manager": { + "devshell": { "inputs": { "nixpkgs": [ "snow-blower", - "agenix", + "flake-parts-website", + "agenix-rekey", "nixpkgs" ] }, "locked": { - "lastModified": 1703113217, - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "home-manager", + "owner": "numtide", + "repo": "devshell", "type": "github" } }, - "nixago": { + "devshell_2": { "inputs": { - "flake-utils": "flake-utils", - "nixago-exts": "nixago-exts", "nixpkgs": [ "snow-blower", + "flake-parts-website", "nixpkgs" ] }, "locked": { - "lastModified": 1714086354, - "narHash": "sha256-yKVQMxL9p7zCWUhnGhDzRVT8sDgHoI3V595lBK0C2YA=", - "owner": "nix-community", - "repo": "nixago", - "rev": "5133633e9fe6b144c8e00e3b212cdbd5a173b63d", + "lastModified": 1741473158, + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "owner": "numtide", + "repo": "devshell", + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "numtide", + "repo": "devshell", "type": "github" } }, - "nixago-exts": { + "devshell_3": { + "flake": false, + "locked": { + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "owner": "numtide", + "repo": "devshell", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_4": { "inputs": { - "flake-utils": "flake-utils_2", - "nixago": "nixago_2", "nixpkgs": [ "snow-blower", - "nixago", + "flake-parts-website", + "nix-topology", "nixpkgs" ] }, "locked": { - "lastModified": 1676070308, - "narHash": "sha256-QaJ65oc2l8iwQIGWUJ0EKjCeSuuCM/LqR8RauxZUUkc=", - "owner": "nix-community", - "repo": "nixago-extensions", - "rev": "e5380cb0456f4ea3c86cf94e3039eb856bf07d0b", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago-extensions", + "owner": "numtide", + "repo": "devshell", "type": "github" } }, - "nixago-exts_2": { + "dmerge": { "inputs": { - "flake-utils": "flake-utils_4", - "nixago": "nixago_3", - "nixpkgs": [ + "haumea": [ "snow-blower", - "nixago", - "nixago-exts", - "nixago", - "nixpkgs" + "flake-parts-website", + "std", + "haumea" + ], + "nixlib": [ + "snow-blower", + "flake-parts-website", + "std", + "lib" + ], + "yants": [ + "snow-blower", + "flake-parts-website", + "std", + "yants" ] }, "locked": { - "lastModified": 1655508669, - "narHash": "sha256-BDDdo5dZQMmwNH/GNacy33nPBnCpSIydWFPZs0kkj/g=", - "owner": "nix-community", - "repo": "nixago-extensions", - "rev": "3022a932ce109258482ecc6568c163e8d0b426aa", + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "owner": "divnix", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago-extensions", + "owner": "divnix", + "ref": "0.2.1", + "repo": "dmerge", "type": "github" } }, - "nixago_2": { + "dream2nix_legacy": { "inputs": { - "flake-utils": "flake-utils_3", - "nixago-exts": "nixago-exts_2", + "all-cabal-json": "all-cabal-json", + "crane": "crane", + "devshell": "devshell_3", + "drv-parts": "drv-parts", + "flake-compat": "flake-compat_4", + "flake-parts": "flake-parts_6", + "flake-utils-pre-commit": "flake-utils-pre-commit", + "ghc-utils": "ghc-utils", + "gomod2nix": "gomod2nix", + "mach-nix": "mach-nix", + "nix-pypi-fetcher": "nix-pypi-fetcher", "nixpkgs": [ "snow-blower", - "nixago", - "nixago-exts", + "flake-parts-website", "nixpkgs" - ] + ], + "nixpkgsV1": "nixpkgsV1", + "poetry2nix": "poetry2nix", + "pre-commit-hooks": [ + "snow-blower", + "flake-parts-website", + "git-hooks-nix" + ], + "pruned-racket-catalog": "pruned-racket-catalog" }, "locked": { - "lastModified": 1676070010, - "narHash": "sha256-iYzJIWptE1EUD8VINAg66AAMUajizg8JUYN3oBmb8no=", + "lastModified": 1689701105, + "narHash": "sha256-LbqkAkLlKvdh/Xb9FvyKAGJbBRuTXOAq6unco/RifD4=", "owner": "nix-community", - "repo": "nixago", - "rev": "d480ba6c0c16e2c5c0bd2122852d6a0c9ad1ed0e", + "repo": "dream2nix", + "rev": "c9c8689f09aa95212e75f3108788862583a1cf5a", "type": "github" }, "original": { "owner": "nix-community", - "ref": "rename-config-data", - "repo": "nixago", + "repo": "dream2nix", + "rev": "c9c8689f09aa95212e75f3108788862583a1cf5a", "type": "github" } }, - "nixago_3": { + "drv-parts": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-compat": [ + "snow-blower", + "flake-parts-website", + "dream2nix_legacy", + "flake-compat" + ], + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "dream2nix_legacy", + "flake-parts" + ], "nixpkgs": [ "snow-blower", + "flake-parts-website", + "dream2nix_legacy", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1680698112, + "narHash": "sha256-FgnobN/DvCjEsc0UAZEAdPLkL4IZi2ZMnu2K2bUaElc=", + "owner": "davhau", + "repo": "drv-parts", + "rev": "e8c2ec1157dc1edb002989669a0dbd935f430201", + "type": "github" + }, + "original": { + "owner": "davhau", + "repo": "drv-parts", + "type": "github" + } + }, + "easy-hosts": { + "locked": { + "lastModified": 1743693165, + "narHash": "sha256-BAYno/4P0hq3aaqfVLbDmv8pgvzJWcN+4L8jK8SzaMo=", + "owner": "tgirlcloud", + "repo": "easy-hosts", + "rev": "611cc21942feb55c6a38410dfe8eee3fb5f08c8d", + "type": "github" + }, + "original": { + "owner": "tgirlcloud", + "repo": "easy-hosts", + "type": "github" + } + }, + "emanote": { + "inputs": { + "commonmark-simple": "commonmark-simple", + "commonmark-wikilink": "commonmark-wikilink", + "ema": [ + "snow-blower", + "flake-parts-website" + ], + "emanote-template": "emanote-template", + "flake-parts": "flake-parts_7", + "flake-root": "flake-root_2", + "haskell-flake": "haskell-flake", + "heist-extra": "heist-extra", + "nixos-unified": "nixos-unified", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_3", + "unionmount": "unionmount" + }, + "locked": { + "lastModified": 1742762001, + "narHash": "sha256-+1DIDrH2K3fk4zUyOG+t8dA76XpnDFNnW9J/nDavVRY=", + "owner": "srid", + "repo": "emanote", + "rev": "323c6aff3a3d2c069855745c08558ee0abb959f5", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "emanote", + "type": "github" + } + }, + "emanote-template": { + "flake": false, + "locked": { + "lastModified": 1731804312, + "narHash": "sha256-3rKT3H5UYbLtFm10ioIEO+7WEgTFT21vUry/0Oj9OWo=", + "owner": "srid", + "repo": "emanote-template", + "rev": "5fa04e49ab6b47f8d9a53f754265d2277e94a5ae", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "emanote-template", + "type": "github" + } + }, + "ez-configs": { + "inputs": { + "flake-parts": "flake-parts_8", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737976685, + "narHash": "sha256-YGDoq5mHjaUiv79oICntM3nybdzvvBRZGe5cZ6kY73w=", + "owner": "ehllie", + "repo": "ez-configs", + "rev": "84cce474cc25b451e77fc05a1a3d32c47706ea3a", + "type": "github" + }, + "original": { + "owner": "ehllie", + "repo": "ez-configs", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "flake": false, + "locked": { + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_9": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts-website": { + "inputs": { + "actions-nix": "actions-nix", + "agenix-rekey": "agenix-rekey", + "agenix-shell": "agenix-shell", + "devenv": "devenv", + "devshell": "devshell_2", + "dream2nix_legacy": "dream2nix_legacy", + "easy-hosts": "easy-hosts", + "emanote": "emanote", + "ez-configs": "ez-configs", + "flake-parts": "flake-parts_9", + "git-hooks-nix": "git-hooks-nix_2", + "haskell-flake": "haskell-flake_2", + "hercules-ci-effects": "hercules-ci-effects", + "home-manager": "home-manager_2", + "make-shell": "make-shell", + "mission-control": "mission-control", + "mkdocs-flake": "mkdocs-flake", + "nix-cargo-integration": "nix-cargo-integration", + "nix-topology": "nix-topology", + "nix-unit": "nix-unit", + "nixos-healthchecks": "nixos-healthchecks", + "nixpkgs": "nixpkgs_5", + "ocaml-flake": "ocaml-flake", + "pkgs-by-name-for-flake-parts": "pkgs-by-name-for-flake-parts", + "proc-flake": "proc-flake", + "process-compose-flake": "process-compose-flake", + "pydev": "pydev", + "rust-flake": "rust-flake", + "std": "std", + "terranix": "terranix", + "treefmt-nix": "treefmt-nix_6" + }, + "locked": { + "lastModified": 1743929443, + "narHash": "sha256-Ya6QNwLBm5drZnpF1awY0X6wHOWj4uhY5YOQX23v830=", + "owner": "hercules-ci", + "repo": "flake.parts-website", + "rev": "7caaa10fe0287a5a76a5ae9b750be50624521fe4", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake.parts-website", + "type": "github" + } + }, + "flake-parts_10": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_11": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_12": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_4" + }, + "locked": { + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "agenix-rekey", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "devenv", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "dream2nix_legacy", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1675933616, + "narHash": "sha256-/rczJkJHtx16IFxMmAWu5nNYcSXNg1YYXTHoGjLrLUA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "47478a4a003e745402acf63be7f9a092d51b83d7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_7": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "emanote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_8": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "ez-configs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_9": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-root": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, + "flake-root_2": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, + "flake-root_3": { + "locked": { + "lastModified": 1692742795, + "narHash": "sha256-f+Y0YhVCIJ06LemO+3Xx00lIcqQxSKJHXT/yk1RTKxw=", + "owner": "srid", + "repo": "flake-root", + "rev": "d9a70d9c7a5fd7f3258ccf48da9335e9b47c3937", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, + "flake-root_4": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils-pre-commit": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghc-utils": { + "flake": false, + "locked": { + "lastModified": 1662774800, + "narHash": "sha256-1Rd2eohGUw/s1tfvkepeYpg8kCEXiIot0RijapUjAkE=", + "ref": "refs/heads/master", + "rev": "bb3a2d3dc52ff0253fb9c2812bd7aa2da03e0fea", + "revCount": 1072, + "type": "git", + "url": "https://gitlab.haskell.org/bgamari/ghc-utils" + }, + "original": { + "type": "git", + "url": "https://gitlab.haskell.org/bgamari/ghc-utils" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "gitignore": "gitignore_3", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks-nix_2": { + "inputs": { + "flake-compat": "flake-compat_5", + "gitignore": "gitignore_4", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_9", + "gitignore": "gitignore_6", + "nixpkgs": [ + "snow-blower", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-rekey", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-shell", + "git-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_3": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "devenv", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_4": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "git-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_5": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nix-topology", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_6": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gomod2nix": { + "flake": false, + "locked": { + "lastModified": 1627572165, + "narHash": "sha256-MFpwnkvQpauj799b4QTBJQFEddbD02+Ln5k92QyHOSk=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "67f22dd738d092c6ba88e420350ada0ed4992ae8", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, + "haskell-flake": { + "locked": { + "lastModified": 1734984991, + "narHash": "sha256-oUYtRBD3Yhw2jvKYo0lfd82fgEQQbFoiJcHO923gmOc=", + "owner": "srid", + "repo": "haskell-flake", + "rev": "daf00052906bdd977e57a07f7048437214232e87", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "haskell-flake", + "type": "github" + } + }, + "haskell-flake_2": { + "locked": { + "lastModified": 1743922999, + "narHash": "sha256-Wh+Zak8sZUgair4pnZR0mLrLIhhInHS8izj7C1H10B8=", + "owner": "srid", + "repo": "haskell-flake", + "rev": "d102e0f8a1773b1a63a616faef670cf5e129f9e9", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "haskell-flake", + "type": "github" + } + }, + "haumea": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1697205539, + "narHash": "sha256-gHEy0Q+eEQJkWl6/DpFxXPOlTx/lMU7Pvs/bwoq4OhI=", + "owner": "nix-community", + "repo": "haumea", + "rev": "fc119c500189f739fec7ad33d111f9c92910eccf", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "haumea", + "type": "github" + } + }, + "haumea_2": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, + "heist-extra": { + "flake": false, + "locked": { + "lastModified": 1737313814, + "narHash": "sha256-WCXhs/xhCR4CKBEadQjqqgUb47bLzDY7P7oL5cSgDHc=", + "owner": "srid", + "repo": "heist-extra", + "rev": "6f73e000a34b7c054b516b9504b5a7ed08ce6a2d", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "heist-extra", + "type": "github" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "flake-parts" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742014779, + "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "524637ef84c177661690b924bf64a1ce18072a2c", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1703113217, + "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743869639, + "narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "incl": { + "inputs": { + "nixlib": [ + "snow-blower", + "flake-parts-website", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1693483555, + "narHash": "sha256-Beq4WhSeH3jRTZgC1XopTSU10yLpK1nmMcnGoXO0XYo=", + "owner": "divnix", + "repo": "incl", + "rev": "526751ad3d1e23b07944b14e3f6b7a5948d3007b", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "incl", + "type": "github" + } + }, + "lib": { + "locked": { + "lastModified": 1722128034, + "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "libgit2": { + "flake": false, + "locked": { + "lastModified": 1697646580, + "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", + "owner": "libgit2", + "repo": "libgit2", + "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", + "type": "github" + }, + "original": { + "owner": "libgit2", + "repo": "libgit2", + "type": "github" + } + }, + "mach-nix": { + "flake": false, + "locked": { + "lastModified": 1634711045, + "narHash": "sha256-m5A2Ty88NChLyFhXucECj6+AuiMZPHXNbw+9Kcs7F6Y=", + "owner": "DavHau", + "repo": "mach-nix", + "rev": "4433f74a97b94b596fa6cd9b9c0402104aceef5d", + "type": "github" + }, + "original": { + "id": "mach-nix", + "type": "indirect" + } + }, + "make-shell": { + "inputs": { + "flake-compat": "flake-compat_6" + }, + "locked": { + "lastModified": 1733933815, + "narHash": "sha256-9JjM7eT66W4NJAXpGUsdyAFXhBxFWR2Z9LZwUa7Hli0=", + "owner": "nicknovitski", + "repo": "make-shell", + "rev": "ffeceae9956df03571ea8e96ef77c2924f13a63c", + "type": "github" + }, + "original": { + "owner": "nicknovitski", + "repo": "make-shell", + "type": "github" + } + }, + "mirage-opam-overlays": { + "flake": false, + "locked": { + "lastModified": 1661959605, + "narHash": "sha256-CPTuhYML3F4J58flfp3ZbMNhkRkVFKmBEYBZY5tnQwA=", + "owner": "dune-universe", + "repo": "mirage-opam-overlays", + "rev": "05f1c1823d891ce4d8adab91f5db3ac51d86dc0b", + "type": "github" + }, + "original": { + "owner": "dune-universe", + "repo": "mirage-opam-overlays", + "type": "github" + } + }, + "mission-control": { + "locked": { + "lastModified": 1733438716, + "narHash": "sha256-1tt43rwHk0N5fwEhbpsHWO4nBVFCQN0w1KM427DNycM=", + "owner": "Platonic-Systems", + "repo": "mission-control", + "rev": "65d04c4ab9db076eff09824d2936a5c215c21f36", + "type": "github" + }, + "original": { + "owner": "Platonic-Systems", + "repo": "mission-control", + "type": "github" + } + }, + "mk-naked-shell": { + "flake": false, + "locked": { + "lastModified": 1681286841, + "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=", + "owner": "yusdacra", + "repo": "mk-naked-shell", + "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd", + "type": "github" + }, + "original": { + "owner": "yusdacra", + "repo": "mk-naked-shell", + "type": "github" + } + }, + "mkdocs-flake": { + "inputs": { + "flake-parts": "flake-parts_10", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "poetry2nix": "poetry2nix_2", + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "uv2nix": "uv2nix" + }, + "locked": { + "lastModified": 1742559754, + "narHash": "sha256-nArDHcFQOobRovj5fAGIwu10acWc7R9d+9WkPvbrA3k=", + "owner": "applicative-systems", + "repo": "mkdocs-flake", + "rev": "4fb6aeddd142785d607f1fa97bb4de13955603de", + "type": "github" + }, + "original": { + "owner": "applicative-systems", + "repo": "mkdocs-flake", + "type": "github" + } + }, + "namaka": { + "inputs": { + "haumea": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "haumea" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698693215, + "narHash": "sha256-6HT5k7psKwiROicroBVbBumehDCy/8Nl/91PLOcjcEs=", + "owner": "nix-community", + "repo": "namaka", + "rev": "5329d4125ee173c7371a1d74d5d87039522d41aa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "namaka", + "type": "github" + } + }, + "nix": { + "inputs": { + "flake-compat": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "flake-parts": "flake-parts_5", + "libgit2": "libgit2", + "nixpkgs": "nixpkgs_4", + "nixpkgs-23-11": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "nixpkgs-regression": [ + "snow-blower", + "flake-parts-website", + "devenv" + ], + "pre-commit-hooks": [ + "snow-blower", + "flake-parts-website", + "devenv" + ] + }, + "locked": { + "lastModified": 1741798497, + "narHash": "sha256-E3j+3MoY8Y96mG1dUIiLFm2tZmNbRvSiyN7CrSKuAVg=", + "owner": "domenkozar", + "repo": "nix", + "rev": "f3f44b2baaf6c4c6e179de8cbb1cc6db031083cd", + "type": "github" + }, + "original": { + "owner": "domenkozar", + "ref": "devenv-2.24", + "repo": "nix", + "type": "github" + } + }, + "nix-cargo-integration": { + "inputs": { + "crane": "crane_2", + "dream2nix": [ + "snow-blower", + "flake-parts-website", + "dream2nix_legacy" + ], + "mk-naked-shell": "mk-naked-shell", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "parts": "parts", + "rust-overlay": "rust-overlay", + "treefmt": "treefmt" + }, + "locked": { + "lastModified": 1743920150, + "narHash": "sha256-SqT5qH1zEh2CUHpQmZNLqZkZB7bAhV6rb28nZ5tiTz0=", + "owner": "yusdacra", + "repo": "nix-cargo-integration", + "rev": "ac4e870a6ea6423347c2a13fc59333251f0a93b0", + "type": "github" + }, + "original": { + "owner": "yusdacra", + "repo": "nix-cargo-integration", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737420293, + "narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-github-actions_2": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-github-actions_3": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nix-unit", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731952509, + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-github-actions_4": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "pydev", + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1693660503, + "narHash": "sha256-B/g2V4v6gjirFmy+I5mwB2bCYc0l3j5scVfwgl6WOl8=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "bd5bdbb52350e145c526108f4ef192eb8e554fa0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-pypi-fetcher": { + "flake": false, + "locked": { + "lastModified": 1669065297, + "narHash": "sha256-UStjXjNIuIm7SzMOWvuYWIHBkPUKQ8Id63BMJjnIDoA=", + "owner": "DavHau", + "repo": "nix-pypi-fetcher", + "rev": "a9885ac6a091576b5195d547ac743d45a2a615ac", + "type": "github" + }, + "original": { + "owner": "DavHau", + "repo": "nix-pypi-fetcher", + "type": "github" + } + }, + "nix-topology": { + "inputs": { + "devshell": "devshell_4", + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks_2" + }, + "locked": { + "lastModified": 1738246091, + "narHash": "sha256-2+KkZsRO+XlOFbXbRgMZbRtlqn5MBNYj4HNmZ/2Tojg=", + "owner": "oddlama", + "repo": "nix-topology", + "rev": "5526269fa3eedf4f4bc00c0bf7a03db31d24b029", + "type": "github" + }, + "original": { + "owner": "oddlama", + "repo": "nix-topology", + "type": "github" + } + }, + "nix-unit": { + "inputs": { + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "flake-parts" + ], + "nix-github-actions": "nix-github-actions_3", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "treefmt-nix": [ + "snow-blower", + "flake-parts-website", + "treefmt-nix" + ] + }, + "locked": { + "lastModified": 1741624954, + "narHash": "sha256-VjLS010BEfwuK343Dst08NnQNS8SRtVCDkz1zTsHuvI=", + "owner": "nix-community", + "repo": "nix-unit", + "rev": "e9d81f6cffe67681e7c04a967d29f18c2c540af5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-unit", + "type": "github" + } + }, + "nixago": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixago-exts": "nixago-exts", + "nixpkgs": [ + "snow-blower", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714086354, + "narHash": "sha256-yKVQMxL9p7zCWUhnGhDzRVT8sDgHoI3V595lBK0C2YA=", + "owner": "nix-community", + "repo": "nixago", + "rev": "5133633e9fe6b144c8e00e3b212cdbd5a173b63d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago-exts": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixago": "nixago_2", + "nixpkgs": [ + "snow-blower", + "nixago", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1676070308, + "narHash": "sha256-QaJ65oc2l8iwQIGWUJ0EKjCeSuuCM/LqR8RauxZUUkc=", + "owner": "nix-community", + "repo": "nixago-extensions", + "rev": "e5380cb0456f4ea3c86cf94e3039eb856bf07d0b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago-extensions", + "type": "github" + } + }, + "nixago-exts_2": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixago": "nixago_3", + "nixpkgs": [ + "snow-blower", + "nixago", + "nixago-exts", + "nixago", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1655508669, + "narHash": "sha256-BDDdo5dZQMmwNH/GNacy33nPBnCpSIydWFPZs0kkj/g=", + "owner": "nix-community", + "repo": "nixago-extensions", + "rev": "3022a932ce109258482ecc6568c163e8d0b426aa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago-extensions", + "type": "github" + } + }, + "nixago_2": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixago-exts": "nixago-exts_2", + "nixpkgs": [ + "snow-blower", + "nixago", + "nixago-exts", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1676070010, + "narHash": "sha256-iYzJIWptE1EUD8VINAg66AAMUajizg8JUYN3oBmb8no=", + "owner": "nix-community", + "repo": "nixago", + "rev": "d480ba6c0c16e2c5c0bd2122852d6a0c9ad1ed0e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "rename-config-data", + "repo": "nixago", + "type": "github" + } + }, + "nixago_3": { + "inputs": { + "flake-utils": "flake-utils_9", + "nixpkgs": [ + "snow-blower", + "nixago", + "nixago-exts", "nixago", "nixago-exts", - "nixago", - "nixago-exts", "nixpkgs" ] }, "locked": { - "lastModified": 1655405483, - "narHash": "sha256-Crd49aZWNrpczlRTOwWGfwBMsTUoG9vlHDKQC7cx264=", - "owner": "nix-community", - "repo": "nixago", - "rev": "e6a9566c18063db5b120e69e048d3627414e327d", + "lastModified": 1655405483, + "narHash": "sha256-Crd49aZWNrpczlRTOwWGfwBMsTUoG9vlHDKQC7cx264=", + "owner": "nix-community", + "repo": "nixago", + "rev": "e6a9566c18063db5b120e69e048d3627414e327d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixos-healthchecks": { + "inputs": { + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "flake-parts" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_5" + }, + "locked": { + "lastModified": 1739947726, + "narHash": "sha256-5GUrVccTk1iIuM7JbJsTqM57Etxek9ebo6e+loQadus=", + "owner": "mrVanDalo", + "repo": "nixos-healthchecks", + "rev": "45da1993e4b568590170cee8d70e7c2266b2f536", + "type": "github" + }, + "original": { + "owner": "mrVanDalo", + "repo": "nixos-healthchecks", + "type": "github" + } + }, + "nixos-unified": { + "locked": { + "lastModified": 1729697921, + "narHash": "sha256-gqcmWE+4Vr5/l6AoQc2jIbJHCAXAY+qWPC0ruoAHV1Q=", + "owner": "srid", + "repo": "nixos-unified", + "rev": "e60e64841e74c777799624531dcb2f311f95f639", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "nixos-unified", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1743296961, + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1740877520, + "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "147dee35aab2193b174e4c0868bd80ead5ce755c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1743296961, + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_4": { + "locked": { + "dir": "lib", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgsV1": { + "locked": { + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1717432640, + "narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "88269ab3044128b7c2f4c7d68448b2fb50456870", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "42a1c966be226125b48c384171c44c651c236c22", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1715447595, + "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "42a1c966be226125b48c384171c44c651c236c22", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1735554305, + "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nosys": { + "locked": { + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "owner": "divnix", + "repo": "nosys", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, + "ocaml-flake": { + "inputs": { + "call-flake": "call-flake", + "flake-parts": "flake-parts_11", + "flake-root": "flake-root_3", + "haumea": "haumea", + "mirage-opam-overlays": "mirage-opam-overlays", + "namaka": "namaka", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "opam-nix": "opam-nix", + "opam-overlays": "opam-overlays", + "opam-repository": "opam-repository", + "opam2json": "opam2json", + "treefmt-nix": [ + "snow-blower", + "flake-parts-website", + "treefmt-nix" + ] + }, + "locked": { + "lastModified": 1699104045, + "narHash": "sha256-8lLrZZaIq5zdyguFUC1LgeYAm6hUhwh82CMtfvI9wjY=", + "rev": "0c9951cfb8547e6101a58a35558e020f067f1871", + "revCount": 61, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/9glenda/ocaml-flake/0.2.2/018b9a82-26e4-7990-8aa8-65d2b7c28df1/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/9glenda/ocaml-flake/0.2.2.tar.gz" + } + }, + "opam-nix": { + "inputs": { + "flake-compat": "flake-compat_8", + "flake-utils": "flake-utils_3", + "mirage-opam-overlays": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "mirage-opam-overlays" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "nixpkgs" + ], + "opam-overlays": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "opam-overlays" + ], + "opam-repository": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "opam-repository" + ], + "opam2json": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "opam2json" + ] + }, + "locked": { + "lastModified": 1698410402, + "narHash": "sha256-GmNqvLcmCYTai/Pi4R0/UF5NxT8EGG4JJqwvp5/uL+A=", + "owner": "tweag", + "repo": "opam-nix", + "rev": "4d42f3d5a3161d7100b37c830a848fcf415409d5", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "opam-nix", + "type": "github" + } + }, + "opam-overlays": { + "flake": false, + "locked": { + "lastModified": 1697107826, + "narHash": "sha256-VvhNtBlgwsi/dlmU33z/4KKJN7Trj4OXMsq9G3eAPwc=", + "owner": "dune-universe", + "repo": "opam-overlays", + "rev": "24ca14c061b41323ac113d082865854c48588b32", + "type": "github" + }, + "original": { + "owner": "dune-universe", + "repo": "opam-overlays", + "type": "github" + } + }, + "opam-repository": { + "flake": false, + "locked": { + "lastModified": 1699051071, + "narHash": "sha256-YkzyiHCrUADvFpczFcgkZJTJdNy1DE8jeMJv3fHsUdU=", + "owner": "ocaml", + "repo": "opam-repository", + "rev": "3d81474197deaaac83f9ce67a8b0408b2f62afed", + "type": "github" + }, + "original": { + "owner": "ocaml", + "repo": "opam-repository", + "type": "github" + } + }, + "opam2json": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "ocaml-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671540003, + "narHash": "sha256-5pXfbUfpVABtKbii6aaI2EdAZTjHJ2QntEf0QD2O5AM=", + "owner": "tweag", + "repo": "opam2json", + "rev": "819d291ea95e271b0e6027679de6abb4d4f7f680", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "opam2json", + "type": "github" + } + }, + "paisano": { + "inputs": { + "call-flake": "call-flake_2", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "std", + "nixpkgs" + ], + "nosys": "nosys", + "yants": [ + "snow-blower", + "flake-parts-website", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", + "owner": "paisano-nix", + "repo": "core", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.2.0", + "repo": "core", + "type": "github" + } + }, + "paisano-tui": { + "flake": false, + "locked": { + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "v0.5.0", + "repo": "tui", + "type": "github" + } + }, + "parts": { + "inputs": { + "nixpkgs-lib": [ + "snow-blower", + "flake-parts-website", + "nix-cargo-integration", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "pkgs-by-name-for-flake-parts": { + "locked": { + "lastModified": 1743779435, + "narHash": "sha256-5eaQ3iKcwUbLw7pOJJqV85qgf5L+ihfsISrifGM7czQ=", + "owner": "drupol", + "repo": "pkgs-by-name-for-flake-parts", + "rev": "477b3e8f981e3d7bac9d297e64796c918942f744", + "type": "github" + }, + "original": { + "owner": "drupol", + "repo": "pkgs-by-name-for-flake-parts", + "type": "github" + } + }, + "poetry2nix": { + "flake": false, + "locked": { + "lastModified": 1666918719, + "narHash": "sha256-BkK42fjAku+2WgCOv2/1NrPa754eQPV7gPBmoKQBWlc=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "289efb187123656a116b915206e66852f038720e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "1.36.0", + "repo": "poetry2nix", + "type": "github" + } + }, + "poetry2nix_2": { + "inputs": { + "flake-utils": "flake-utils", + "nix-github-actions": "nix-github-actions_2", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "nixpkgs" + ], + "systems": "systems_3", + "treefmt-nix": "treefmt-nix_4" + }, + "locked": { + "lastModified": 1742397518, + "narHash": "sha256-nzgO/ZCSBzWjbMkYDxG+yl9Z2eGbCgQu06Oku3ir5D4=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "b9a98080beff0903a5e5fe431f42cde1e3e50d6b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, + "poetry2nix_3": { + "inputs": { + "flake-utils": "flake-utils_4", + "nix-github-actions": "nix-github-actions_4", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "pydev", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1697447667, + "narHash": "sha256-myb6/cSc/1cZEYivqDhKNjYra8Qtp/MW/LGyD09lrDM=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "fe0dcb4c9b44162a385f1170895fe6a392ed71b5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-rekey", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_7", + "gitignore": "gitignore_5", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nix-topology", + "nixpkgs" + ], + "nixpkgs-stable": [ + "snow-blower", + "flake-parts-website", + "nix-topology", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730797577, + "narHash": "sha256-SrID5yVpyUfknUTGWgYkTyvdr9J1LxUym4om3SVGPkg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "1864030ed24a2b8b4e4d386a5eeaf0c5369e50a9", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "proc-flake": { + "locked": { + "lastModified": 1713493374, + "narHash": "sha256-w2XKCa27RxCu32PKnResrKEcnOV/S6Qh1sWBWCUSjJ8=", + "owner": "srid", + "repo": "proc-flake", + "rev": "7bf695fad8caec98c122f1641ddca5e36477223f", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "proc-flake", + "type": "github" + } + }, + "process-compose-flake": { + "locked": { + "lastModified": 1740324671, + "narHash": "sha256-djc+wRG9L70jlW95Ck4GKr7nTPp1drfsXshJkYZAd9s=", + "owner": "Platonic-systems", + "repo": "process-compose-flake", + "rev": "2a17e49b8a5d32278ed77e4a881f992472be18a1", + "type": "github" + }, + "original": { + "owner": "Platonic-systems", + "repo": "process-compose-flake", + "type": "github" + } + }, + "process-compose-flake_2": { + "locked": { + "lastModified": 1740324671, + "narHash": "sha256-djc+wRG9L70jlW95Ck4GKr7nTPp1drfsXshJkYZAd9s=", + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "rev": "2a17e49b8a5d32278ed77e4a881f992472be18a1", + "type": "github" + }, + "original": { + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "type": "github" + } + }, + "pruned-racket-catalog": { + "flake": false, + "locked": { + "lastModified": 1672537287, + "narHash": "sha256-SuOvXVcLfakw18oJB/PuRMyvGyGG1+CQD3R+TGHIv44=", + "owner": "nix-community", + "repo": "pruned-racket-catalog", + "rev": "c8b89557fb53b36efa2ee48a769c7364df0f6262", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "catalog", + "repo": "pruned-racket-catalog", + "type": "github" + } + }, + "pydev": { + "inputs": { + "flake-parts": "flake-parts_12", + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "poetry2nix": "poetry2nix_3", + "pre-commit-hooks-nix": [ + "snow-blower", + "flake-parts-website", + "git-hooks-nix" + ] + }, + "locked": { + "lastModified": 1698527212, + "narHash": "sha256-THtAx/IYsoVoS69zYEaiEgBtH/dT29uhdTFsvEITxKc=", + "owner": "oceansprint", + "repo": "pydev", + "rev": "1675d2f63752b919152f6c23ba76dd70b4ebdfc7", + "type": "github" + }, + "original": { + "owner": "oceansprint", + "repo": "pydev", + "type": "github" + } + }, + "pyproject-build-systems": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "nixpkgs" + ], + "pyproject-nix": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "pyproject-nix" + ], + "uv2nix": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "uv2nix" + ] + }, + "locked": { + "lastModified": 1741647088, + "narHash": "sha256-y/Aj21rMGdE23dcFfD4lRhNMgkhIRucp+uuWLWUXv0M=", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "rev": "6d7eced86469cf89ed4d19d91b870163deb0dca2", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "type": "github" + } + }, + "pyproject-nix": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742471416, + "narHash": "sha256-Feo4W3kcJfEDnPfZdh0pt9SnMFCHBAukEDBZClEhe+Q=", + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "rev": "e6195836ac5d3d0e0c0c1a523afcf39f05554d20", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "snow-blower": "snow-blower" + } + }, + "rust-flake": { + "inputs": { + "crane": "crane_3", + "nixpkgs": "nixpkgs_6", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1741121204, + "narHash": "sha256-oMJsdsRzvO6l5oHqzXjhSe7D8ld06yAXwRPPrX/n/KI=", + "owner": "juspay", + "repo": "rust-flake", + "rev": "ea753dade9e283809d11c63082840657eb766e97", + "type": "github" + }, + "original": { + "owner": "juspay", + "repo": "rust-flake", + "type": "github" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nix-cargo-integration", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743906877, + "narHash": "sha256-Thah1oU8Vy0gs9bh5QhNcQh1iuQiowMnZPbrkURonZA=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "9d00c6b69408dd40d067603012938d9fbe95cfcd", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "rust-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736700680, + "narHash": "sha256-9gmWIb8xsycWHEYpd2SiVIAZnUULX6Y+IMMZBcDUCQU=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "5d1865c0da63b4c949f383d982b6b43519946e8f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "snow-blower": { + "inputs": { + "agenix": "agenix", + "flake-parts": "flake-parts_2", + "flake-parts-website": "flake-parts-website", + "flake-root": "flake-root_4", + "git-hooks": "git-hooks_2", + "nixago": "nixago", + "nixpkgs": "nixpkgs_7", + "process-compose-flake": "process-compose-flake_2", + "systems": "systems_7", + "treefmt-nix": "treefmt-nix_7" + }, + "locked": { + "lastModified": 1744243331, + "narHash": "sha256-kmFwl9zDZNo+daojz0K7oEakUjuYkG35GG8tht+6M9Q=", + "owner": "use-the-fork", + "repo": "snow-blower", + "rev": "cee95c4d64a397437f673bf88eacc65151f1199a", + "type": "github" + }, + "original": { + "owner": "use-the-fork", + "repo": "snow-blower", + "type": "github" + } + }, + "std": { + "inputs": { + "arion": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "blank": "blank", + "devshell": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "dmerge": "dmerge", + "haumea": "haumea_2", + "incl": "incl", + "lib": "lib", + "makes": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "microvm": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "n2c": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "nixago": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "paisano": "paisano", + "paisano-tui": "paisano-tui", + "terranix": [ + "snow-blower", + "flake-parts-website", + "std", + "blank" + ], + "yants": "yants" + }, + "locked": { + "lastModified": 1743510326, + "narHash": "sha256-IipGeREgvHo7pOxNwbWj2qPIg4gOu3bwTnWgTVwVYBU=", + "owner": "divnix", + "repo": "std", + "rev": "f17c6379a629b46c45bd78257432109b6e1049a6", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, - "nixpkgs": { + "systems_4": { "locked": { - "lastModified": 1722185531, - "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, - "nixpkgs-lib": { + "systems_5": { "locked": { - "lastModified": 1719876945, - "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "owner": "nix-systems", + "repo": "default", + "type": "github" } }, - "nixpkgs-stable": { + "systems_6": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, - "nixpkgs_2": { + "systems_7": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "nix-systems", + "repo": "default-linux", "type": "github" } }, - "nixpkgs_3": { + "terranix": { + "inputs": { + "bats-assert": [ + "snow-blower", + "flake-parts-website" + ], + "bats-support": [ + "snow-blower", + "flake-parts-website" + ], + "flake-parts": [ + "snow-blower", + "flake-parts-website", + "flake-parts" + ], + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ], + "systems": "systems_6", + "terranix-examples": [ + "snow-blower", + "flake-parts-website" + ] + }, "locked": { - "lastModified": 1722185531, - "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "lastModified": 1739437924, + "narHash": "sha256-lRp8/Udbu8c7aR0DGCmteCXJtXsHcQAiVi6GckjEh5c=", + "owner": "terranix", + "repo": "terranix", + "rev": "bb56d576da73a2226961eff14f5530b72ca9e2e3", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "terranix", + "repo": "terranix", "type": "github" } }, - "nixpkgs_4": { + "treefmt": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nix-cargo-integration", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1722185531, - "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "process-compose-flake": { + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-rekey", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1718031437, - "narHash": "sha256-+RrlkAVZx0QhyeHAGFJnjST+/7Dc3zsDU3zAKXoDXaI=", - "owner": "Platonic-Systems", - "repo": "process-compose-flake", - "rev": "9344fac44edced4c686721686a6ad904d067c546", + "lastModified": 1735135567, + "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", "type": "github" }, "original": { - "owner": "Platonic-Systems", - "repo": "process-compose-flake", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "root": { + "treefmt-nix_2": { "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs", - "snow-blower": "snow-blower" + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "agenix-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743081648, + "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" } }, - "snow-blower": { + "treefmt-nix_3": { "inputs": { - "agenix": "agenix", - "flake-parts": "flake-parts_2", - "flake-root": "flake-root", - "git-hooks": "git-hooks", - "nixago": "nixago", - "nixpkgs": "nixpkgs_3", - "process-compose-flake": "process-compose-flake", - "systems": "systems_2", - "treefmt-nix": "treefmt-nix" + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "emanote", + "nixpkgs" + ] }, "locked": { - "lastModified": 1722456547, - "narHash": "sha256-pudMUqtmALLZO/mpSPhxwhDdDIb6LTUqoLqJ1wHT4D4=", - "owner": "use-the-fork", - "repo": "snow-blower", - "rev": "94267dece6a9da3978f19be65bd739f275a649e4", + "lastModified": 1734982074, + "narHash": "sha256-N7M37KP7cHWoXicuE536GrVvU8nMDT/gpI1kja2hkdg=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "e41e948cf097cbf96ba4dff47a30ea6891af9f33", "type": "github" }, "original": { - "owner": "use-the-fork", - "repo": "snow-blower", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "systems": { + "treefmt-nix_4": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "poetry2nix", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "lastModified": 1730120726, + "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "systems_2": { + "treefmt-nix_5": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixos-healthchecks", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "lastModified": 1727431250, + "narHash": "sha256-uGRlRT47ecicF9iLD1G3g43jn2e+b5KaMptb59LHnvM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "879b29ae9a0378904fbbefe0dadaed43c8905754", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default-linux", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "treefmt-nix": { + "treefmt-nix_6": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_7": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1718522839, - "narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=", + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", "type": "github" }, "original": { @@ -569,6 +3537,74 @@ "repo": "treefmt-nix", "type": "github" } + }, + "unionmount": { + "flake": false, + "locked": { + "lastModified": 1710078535, + "narHash": "sha256-gKBgBtuiRTD3/3EeY8aMgFzuaSEffJacBxsCB3ct1eg=", + "owner": "srid", + "repo": "unionmount", + "rev": "41ae982fa118770bf4d3a3f2d48ac1ffb61c9f09", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "unionmount", + "type": "github" + } + }, + "uv2nix": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "nixpkgs" + ], + "pyproject-nix": [ + "snow-blower", + "flake-parts-website", + "mkdocs-flake", + "pyproject-nix" + ] + }, + "locked": { + "lastModified": 1742506788, + "narHash": "sha256-wzxTux4MSd4sYGAM04pK6A7DLIS1qE4ukyW/8/ogH0k=", + "owner": "pyproject-nix", + "repo": "uv2nix", + "rev": "9c654fe99adbd6d51b2100a40f544cb767f1e0d2", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "uv2nix", + "type": "github" + } + }, + "yants": { + "inputs": { + "nixpkgs": [ + "snow-blower", + "flake-parts-website", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "owner": "divnix", + "repo": "yants", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9cf600b..d9414e5 100644 --- a/flake.nix +++ b/flake.nix @@ -11,16 +11,13 @@ perSystem = { config, lib, + pkgs, ... }: let rootDir = config.snow-blower.paths.root; serv = config.snow-blower.services; lang = config.snow-blower.languages; - # Refrences PHP and Composer later in this config. - composer = "${lang.php.packages.composer}/bin/composer"; - php = "${lang.php.package}/bin/php"; - envKeys = builtins.attrNames config.snow-blower.env; unsetEnv = builtins.concatStringsSep "\n" ( map (key: "unset ${key}") envKeys @@ -29,7 +26,12 @@ snow-blower = { paths.src = ./.; - # Conviance scripts + packages = [ + # Local github runner + pkgs.act + ]; + + # Convince scripts scripts = { pf.exec = '' ${unsetEnv} @@ -65,7 +67,7 @@ # the required version of PHP for this project. php = { enable = true; - version = "8.2"; + package = pkgs.php82; extensions = ["grpc" "redis" "imagick" "memcached" "xdebug"]; ini = '' memory_limit = 5G @@ -79,6 +81,7 @@ }; services = { + aider.enable = true; # Elasticsearch service for testing elasticsearch = { enable = true; @@ -93,7 +96,7 @@ settings.formatter = { # Laravel Pint Formating "laravel-pint" = { - command = "${php}"; + command = "php"; options = [ "${rootDir}/vendor/bin/pint" #make it verbose @@ -110,21 +113,6 @@ #Format Markdown files. mdformat.enable = true; - - #JS / CSS Formatting. - prettier = { - enable = true; - settings = { - trailingComma = "es5"; - semi = true; - singleQuote = true; - jsxSingleQuote = true; - bracketSpacing = true; - printWidth = 80; - tabWidth = 2; - endOfLine = "lf"; - }; - }; }; }; @@ -133,9 +121,6 @@ # run formatting on files that are being commited treefmt.enable = true; - # Code linting - phpstan.enable = false; - #lets make sure there are no keys in the repo detect-private-keys.enable = true; @@ -147,7 +132,7 @@ shell.interactive = [ '' if [[ ! -d vendor ]]; then - ${composer} install + composer install fi '' ]; diff --git a/pint.json b/pint.json new file mode 100644 index 0000000..da61f94 --- /dev/null +++ b/pint.json @@ -0,0 +1,5 @@ +{ + "preset": "laravel", + "rules": { + } +} From 308177608c0ef6a6cad4dd8c1bcdc2efa5cd65d0 Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Wed, 16 Apr 2025 23:34:48 -0400 Subject: [PATCH 02/11] ci: remove php extension caching from lint workflow --- .github/workflows/lint.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7848fa9..5a5ccf8 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -21,19 +21,6 @@ jobs: - name: "Checkout" uses: "actions/checkout@v4" - - name: "Setup cache environment" - id: "extcache" - uses: "shivammathur/cache-extensions@v1" - with: - php-version: ${{ env.PHP_VERSION }} - - - name: "Cache extensions" - uses: "actions/cache@v4" - with: - path: ${{ steps.extcache.outputs.dir }} - key: ${{ steps.extcache.outputs.key }} - restore-keys: ${{ steps.extcache.outputs.key }} - - name: "Install PHP" uses: "shivammathur/setup-php@v2" with: From d7ef97de82ccbfa16ff3976bd5d3391f5f82662b Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Thu, 17 Apr 2025 00:37:59 -0400 Subject: [PATCH 03/11] refactor: limit inner hits size and improve id type casting --- src/Query/Grammar.php | 4 +++- src/Relations/MorphToMany.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Query/Grammar.php b/src/Query/Grammar.php index 796ed7e..90305cc 100644 --- a/src/Query/Grammar.php +++ b/src/Query/Grammar.php @@ -548,7 +548,9 @@ public function _buildInnerHits($innerQuery) $innerHits['from'] = $innerQuery->offset; } if ($size = $innerQuery->getSetLimit()) { - $innerHits['size'] = $size; + # TODO: David should we handle this diffrently? + # Nested queries have a hard limit of 100 for inner_hits size + $innerHits['size'] = min($size, 100); } return $innerHits; diff --git a/src/Relations/MorphToMany.php b/src/Relations/MorphToMany.php index 16c50a2..2f7a117 100644 --- a/src/Relations/MorphToMany.php +++ b/src/Relations/MorphToMany.php @@ -251,7 +251,7 @@ public function attach($id, array $attributes = [], $touch = true) } // ID Must always be a string val - $id = Arr::wrap((string) $id); + $id = array_map(fn ($item) => (string) $item, Arr::wrap($id)); $query = $this->newRelatedQuery(); $query->whereIn($this->relatedKey, $id); From 8d02fb7eff07dffd26f54d2f3ad2afa9dbcca11e Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Thu, 17 Apr 2025 00:41:39 -0400 Subject: [PATCH 04/11] refactor: clean up code formatting and comments in grammar and pivot table traits --- src/Query/Grammar.php | 4 +- .../Traits/InteractsWithPivotTable.php | 46 +++++++++---------- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/Query/Grammar.php b/src/Query/Grammar.php index 90305cc..6f6d9fe 100644 --- a/src/Query/Grammar.php +++ b/src/Query/Grammar.php @@ -548,8 +548,8 @@ public function _buildInnerHits($innerQuery) $innerHits['from'] = $innerQuery->offset; } if ($size = $innerQuery->getSetLimit()) { - # TODO: David should we handle this diffrently? - # Nested queries have a hard limit of 100 for inner_hits size + // TODO: David should we handle this diffrently? + // Nested queries have a hard limit of 100 for inner_hits size $innerHits['size'] = min($size, 100); } diff --git a/src/Relations/Traits/InteractsWithPivotTable.php b/src/Relations/Traits/InteractsWithPivotTable.php index 71e5efe..84bcd0b 100644 --- a/src/Relations/Traits/InteractsWithPivotTable.php +++ b/src/Relations/Traits/InteractsWithPivotTable.php @@ -1,38 +1,36 @@ mapWithKeys(function ($attributes, $id) { - if (! is_array($attributes)) { - [$id, $attributes] = [$attributes, []]; - } - - if ($id instanceof BackedEnum) { - $id = $id->value; - } - - // We have to convert all Key Ids to string values to keep it consistent in Elastic. - return [(string) $id => $attributes]; - })->all(); + return collect($records)->mapWithKeys(function ($attributes, $id) { + if (! is_array($attributes)) { + [$id, $attributes] = [$attributes, []]; + } + + if ($id instanceof BackedEnum) { + $id = $id->value; + } + + // We have to convert all Key Ids to string values to keep it consistent in Elastic. + return [(string) $id => $attributes]; + })->all(); } /** {@inheritdoc} */ protected function parseIds($value) { - // We have to convert all Key Ids to string values to keep it consistent in Elastic. - return collect(parent::parseIds($value))->mapWithKeys(function ($value, $key) { - return [(string) $key => $value]; - })->all(); + // We have to convert all Key Ids to string values to keep it consistent in Elastic. + return collect(parent::parseIds($value))->mapWithKeys(function ($value, $key) { + return [(string) $key => $value]; + })->all(); } - - } +} From e41a7694b968b930d8e2c5e7713733e913e416a8 Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Fri, 18 Apr 2025 11:39:36 -0400 Subject: [PATCH 05/11] test: add limit test for elasticsearch connection and model --- tests/LimitTest.php | 48 +++++++++++++++++++++++++++++++++++++++++++++ tests/TestCase.php | 9 +++++++++ 2 files changed, 57 insertions(+) create mode 100644 tests/LimitTest.php diff --git a/tests/LimitTest.php b/tests/LimitTest.php new file mode 100644 index 0000000..969c0ca --- /dev/null +++ b/tests/LimitTest.php @@ -0,0 +1,48 @@ + 'chocolate', 'price' => 5], + ['product' => 'pumpkin', 'price' => 30], + ['product' => 'apple', 'price' => 10], + ['product' => 'orange juice', 'price' => 5], + ['product' => 'coffee', 'price' => 15], + ['product' => 'tea', 'price' => 12], + ['product' => 'cookies', 'price' => 5], + ['product' => 'ice cream', 'price' => 22], + ['product' => 'bagel', 'price' => 8], + ['product' => 'salad', 'price' => 14], + ['product' => 'sandwich', 'price' => 5], + ['product' => 'pizza', 'price' => 45], + ['product' => 'water', 'price' => 5], + ['product' => 'soda', 'price' => 5], + ]); +}); + +it('tests where clause', function () { + + class ProductWithLimit extends Product + { + protected $defaultLimit = 7; + } + + class ProductWithDefaultConnectionLimit extends Product + { + protected $connection = 'elasticsearch_with_default_limit'; + } + + $products = ProductWithLimit::all(); + expect($products)->toHaveCount(7); + + $products = ProductWithDefaultConnectionLimit::all(); + expect($products)->toHaveCount(4); + + $products = ProductWithLimit::limit(3)->get(); + expect($products)->toHaveCount(3); +}); diff --git a/tests/TestCase.php b/tests/TestCase.php index 768bd55..6727b0f 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -36,6 +36,15 @@ protected function getEnvironmentSetUp($app): void 'logging' => true, ], ]); + $app['config']->set('database.connections.elasticsearch_with_default_limit', [ + 'driver' => 'elasticsearch', + 'auth_type' => 'http', + 'hosts' => ['http://localhost:9200'], + 'options' => [ + 'default_limit' => 4, + 'logging' => true, + ], + ]); $app['config']->set('database.connections.elasticsearch_unsafe', [ 'driver' => 'elasticsearch', From 67ca2b1182bdf9e5e2b6a59a2be519b5dc55e0d9 Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Fri, 18 Apr 2025 11:40:17 -0400 Subject: [PATCH 06/11] refactor: rename test method to better describe limit clauses --- tests/LimitTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/LimitTest.php b/tests/LimitTest.php index 969c0ca..259008e 100644 --- a/tests/LimitTest.php +++ b/tests/LimitTest.php @@ -25,7 +25,7 @@ ]); }); -it('tests where clause', function () { +it('tests limit clauses', function () { class ProductWithLimit extends Product { From a1f8bbdd87bc4be5a55c4e9a4d7a70a34d9ed72c Mon Sep 17 00:00:00 2001 From: use-the-fork Date: Fri, 18 Apr 2025 11:51:13 -0400 Subject: [PATCH 07/11] test: add test cases for limit clause in product queries --- tests/LimitTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/LimitTest.php b/tests/LimitTest.php index 259008e..3b97394 100644 --- a/tests/LimitTest.php +++ b/tests/LimitTest.php @@ -43,6 +43,9 @@ class ProductWithDefaultConnectionLimit extends Product $products = ProductWithDefaultConnectionLimit::all(); expect($products)->toHaveCount(4); + $products = ProductWithDefaultConnectionLimit::limit(3)->get(); + expect($products)->toHaveCount(3); + $products = ProductWithLimit::limit(3)->get(); expect($products)->toHaveCount(3); }); From a649582d3ae4b25f11a1b41b1ac97627d108909c Mon Sep 17 00:00:00 2001 From: David Philip Date: Sun, 20 Apr 2025 15:27:07 +0200 Subject: [PATCH 08/11] Relations has() fixed - Tests passing --- src/Relations/Traits/QueriesRelationships.php | 28 +++++++++---------- tests/Models/Group.php | 2 +- tests/Models/User.php | 2 +- tests/RelationsTest.php | 18 ++++++------ 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/Relations/Traits/QueriesRelationships.php b/src/Relations/Traits/QueriesRelationships.php index b322531..24d03d8 100644 --- a/src/Relations/Traits/QueriesRelationships.php +++ b/src/Relations/Traits/QueriesRelationships.php @@ -27,13 +27,8 @@ trait QueriesRelationships * * @throws Exception */ - public function has( - $relation, - $operator = '>=', - $count = 1, - $boolean = 'and', - ?Closure $callback = null - ): Builder|static { + public function has($relation, $operator = '>=', $count = 1, $boolean = 'and', ?Closure $callback = null): Builder|static + { if (is_string($relation)) { if (str_contains($relation, '.')) { // @phpstan-ignore-next-line @@ -79,13 +74,8 @@ protected function isAcrossConnections(Relation $relation): bool * * @throws Exception */ - public function addHybridHas( - Relation $relation, - string $operator = '>=', - int $count = 1, - string $boolean = 'and', - ?Closure $callback = null - ): mixed { + public function addHybridHas(Relation $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', ?Closure $callback = null): mixed + { $hasQuery = $relation->getQuery(); if ($callback) { $hasQuery->callScope($callback); @@ -102,7 +92,7 @@ public function addHybridHas( $relation instanceof MorphToMany => $relation->getInverse() ? $this->handleMorphedByMany($hasQuery, $relation) : $this->handleMorphToMany($hasQuery, $relation), - default => $hasQuery->pluck($this->getHasCompareKey($relation)) + default => $this->handleDefaultForeignIdsLookup($hasQuery, $relation) }; $relatedIds = $this->getConstrainedRelatedIds($relations, $operator, $count); @@ -110,6 +100,14 @@ public function addHybridHas( return $this->whereIn($this->getRelatedConstraintKey($relation), $relatedIds, $boolean, $not); } + private function handleDefaultForeignIdsLookup($query, $relation) + { + $key = $this->getHasCompareKey($relation); + $query->whereNotNull($key); + + return $query->pluck($key); + } + /** * @param Builder $hasQuery * @param Relation $relation diff --git a/tests/Models/Group.php b/tests/Models/Group.php index 073d9ac..28300b8 100644 --- a/tests/Models/Group.php +++ b/tests/Models/Group.php @@ -17,7 +17,7 @@ class Group extends Model protected static $unguarded = true; - public function users(): BelongsToMany + public function groupUsers(): BelongsToMany { return $this->belongsToMany(User::class, 'users', 'groups', 'users', 'id', 'id', 'users'); } diff --git a/tests/Models/User.php b/tests/Models/User.php index 2123a28..cb510ff 100644 --- a/tests/Models/User.php +++ b/tests/Models/User.php @@ -89,7 +89,7 @@ public function clients() return $this->belongsToMany(Client::class); } - public function groups() + public function userGroups() { return $this->belongsToMany(Group::class, 'groups', 'users', 'groups', 'id', 'id', 'groups'); } diff --git a/tests/RelationsTest.php b/tests/RelationsTest.php index 4e6bcf0..1a2263f 100644 --- a/tests/RelationsTest.php +++ b/tests/RelationsTest.php @@ -321,22 +321,22 @@ it('tests belongs to many custom', function () { $user = User::create(['name' => 'John Doe']); - $group = $user->groups()->create(['name' => 'Admins']); + $group = $user->userGroups()->create(['name' => 'Admins']); - // Refetch + // Re-fetch $user = User::find($user->id); $group = Group::find($group->id); // Check for custom relation attributes expect($group->getAttributes())->toHaveKey('users') ->and($user->getAttributes())->toHaveKey('groups') - ->and($user->groups->pluck('id')->toArray())->toContain($group->id) - ->and($group->users->pluck('id')->toArray())->toContain($user->id) - ->and($user->groups()->first()->id)->toBe($group->id) - ->and($group->users()->first()->id)->toBe($user->id); + ->and($user->userGroups->pluck('id')->toArray())->toContain($group->id) + ->and($group->groupUsers->pluck('id')->toArray())->toContain($user->id) + ->and($user->userGroups()->first()->id)->toBe($group->id) + ->and($group->groupUsers()->first()->id)->toBe($user->id); // Assert they are attached -})->todo(); +}); it('tests morph', function () { $user = User::create(['name' => 'John Doe']); @@ -854,7 +854,7 @@ $query->where('rating', '<', 5); })->get(); expect($authors)->toHaveCount(1); -})->todo(); +}); it('tests has one has', function () { $user1 = User::create(['name' => 'John Doe']); @@ -874,7 +874,7 @@ $users = User::has('role', '!=', 0)->get(); expect($users)->toHaveCount(2); -})->todo(); +}); it('tests nested keys', function () { $client = Client::create([ From 6d4e0a4d7ebe48a8dc31ba5734c12f994c154899 Mon Sep 17 00:00:00 2001 From: David Philip Date: Sun, 20 Apr 2025 15:57:18 +0200 Subject: [PATCH 09/11] Doing todo tests --- tests/GeospatialTest.php | 17 +++++++++++++---- tests/ModelTest.php | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/GeospatialTest.php b/tests/GeospatialTest.php index fb4bc34..1c89ce4 100644 --- a/tests/GeospatialTest.php +++ b/tests/GeospatialTest.php @@ -40,14 +40,23 @@ it('finds locations within a defined polygon', function () { - $locations = Location::whereGeoBox('location', ['lon' => -0.1450383, 'lat' => 51.5069158], ['lon' => -0.1270247, 'lat' => 51.5013233])->get(); + $expectedLon = -0.1392173; + $expectedLat = 51.5045037; + $topLeft = ['lon' => $expectedLon - 0.0005, 'lat' => $expectedLat + 0.0005]; + $bottomRight = ['lon' => $expectedLon + 0.0005, 'lat' => $expectedLat - 0.0005]; + + $locations = Location::whereGeoBox( + 'point', + $topLeft, + $bottomRight, + )->get(); expect($locations->count())->toBe(1); - $locations->get()->each(function ($item) { - expect($item->name)->toBe('StJamesPalace'); + $locations->each(function ($item) { + expect($item->name)->toBe('St. James\'s Palace'); }); -})->todo('need to add more checks around geo bounding box'); +}); it('finds locations near a point within max distance', function () { $locations = Location::whereGeoDistance('point', '200m', ['lat' => 51.5049537, 'lon' => -0.1392173])->get(); diff --git a/tests/ModelTest.php b/tests/ModelTest.php index 05d9e7b..4d37eb6 100644 --- a/tests/ModelTest.php +++ b/tests/ModelTest.php @@ -457,7 +457,7 @@ }); expect($names)->toBe(['fork', 'spork', 'spoon']); -})->todo(); +}); it('tests chunk across many items', function () { $users = []; From 451b7c2494782b36cfdd2ab14ad7fd1be604fd5b Mon Sep 17 00:00:00 2001 From: David Philip Date: Sun, 20 Apr 2025 15:59:31 +0200 Subject: [PATCH 10/11] Removed hard limit The ES default is 100, however users can set their own config in ES --- src/Query/Grammar.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Query/Grammar.php b/src/Query/Grammar.php index 6f6d9fe..796ed7e 100644 --- a/src/Query/Grammar.php +++ b/src/Query/Grammar.php @@ -548,9 +548,7 @@ public function _buildInnerHits($innerQuery) $innerHits['from'] = $innerQuery->offset; } if ($size = $innerQuery->getSetLimit()) { - // TODO: David should we handle this diffrently? - // Nested queries have a hard limit of 100 for inner_hits size - $innerHits['size'] = min($size, 100); + $innerHits['size'] = $size; } return $innerHits; From 1b53e00d23560acba3878918614284a964fc7cf0 Mon Sep 17 00:00:00 2001 From: David Philip Date: Sun, 20 Apr 2025 16:05:37 +0200 Subject: [PATCH 11/11] Back to original - New limit tests passing (?) --- src/Query/Builder.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Query/Builder.php b/src/Query/Builder.php index 3355eb5..7b07981 100644 --- a/src/Query/Builder.php +++ b/src/Query/Builder.php @@ -2107,16 +2107,12 @@ public function withSuffix(string $suffix): self public function getLimit(): int { - return $this->getSetLimit(); + return $this->getSetLimit() ?? $this->getDefaultLimit() ?? $this->connection->getDefaultLimit(); } - public function getSetLimit(): int + public function getSetLimit(): ?int { - // If a limit was explicitly set we use that over the defaults. - return $this->limit - ?? $this->options()->get('limit') - ?? $this->getDefaultLimit() - ?? $this->connection->getDefaultLimit(); + return $this->options()->get('limit', $this->limit) ?? null; } public function getDefaultLimit(): ?int