{"id":13679409,"url":"https://github.com/nix-community/haumea","last_synced_at":"2026-02-11T13:34:20.556Z","repository":{"id":149883434,"uuid":"622042668","full_name":"nix-community/haumea","owner":"nix-community","description":"Filesystem-based module system for Nix [maintainer=@figsoda]","archived":false,"fork":false,"pushed_at":"2024-06-05T05:11:22.000Z","size":101,"stargazers_count":381,"open_issues_count":18,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-29T10:15:14.347Z","etag":null,"topics":["auto","flake","flakes","hierarchy","import","nix","visibility"],"latest_commit_sha":null,"homepage":"https://nix-community.github.io/haumea/","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nix-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"nix-community"}},"created_at":"2023-04-01T00:50:18.000Z","updated_at":"2026-01-27T23:42:46.000Z","dependencies_parsed_at":"2023-10-11T02:06:44.538Z","dependency_job_id":"4b2dbbc9-724f-49ac-9cda-282fbb4f9efe","html_url":"https://github.com/nix-community/haumea","commit_stats":{"total_commits":71,"total_committers":5,"mean_commits":14.2,"dds":0.3098591549295775,"last_synced_commit":"ec6350fd9353e7f27ce0e85d31f82e3ed73e4d70"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/nix-community/haumea","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nix-community%2Fhaumea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nix-community%2Fhaumea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nix-community%2Fhaumea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nix-community%2Fhaumea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nix-community","download_url":"https://codeload.github.com/nix-community/haumea/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nix-community%2Fhaumea/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29333565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T12:42:24.625Z","status":"ssl_error","status_checked_at":"2026-02-11T12:41:23.344Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto","flake","flakes","hierarchy","import","nix","visibility"],"created_at":"2024-08-02T13:01:05.224Z","updated_at":"2026-02-11T13:34:20.532Z","avatar_url":"https://github.com/nix-community.png","language":"Nix","funding_links":["https://opencollective.com/nix-community"],"categories":["Nix","Development","others"],"sub_categories":["Discovery"],"readme":"# Haumea\n\nFilesystem-based module system for Nix\n\nHaumea is not related to or a replacement for NixOS modules.\nIt is closer to the module systems of traditional programming languages,\nwith support for file hierarchy and visibility.\n\nIn short, haumea maps a directory of Nix files into an attribute set:\n\n\u003ctable align=\"center\"\u003e\n\u003cthead\u003e\n  \u003ctr\u003e\n    \u003cth\u003eFrom\u003c/th\u003e\n    \u003cth\u003eTo\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctr\u003e\n  \u003ctd\u003e\n\n```\n├─ foo/\n│  ├─ bar.nix\n│  ├─ baz.nix\n│  └─ __internal.nix\n├─ bar.nix\n└─ _utils/\n   └─ foo.nix\n```\n\n  \u003c/td\u003e\n  \u003ctd\u003e\n\n```nix\n{\n  foo = {\n    bar = \u003c...\u003e;\n    baz = \u003c...\u003e;\n  };\n  bar = \u003c...\u003e;\n}\n```\n\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nHaumea's source code is hosted on [GitHub](https://github.com/nix-community/haumea)\nunder the [MPL-2.0](http://mozilla.org/MPL/2.0) license.\nHaumea bootstraps itself. You can see the entire implementation in the\n[src](https://github.com/nix-community/haumea/tree/main/src) directory.\n\n## Why Haumea?\n\n- No more manual imports\n\n  Manually importing files can be tedious, especially when there are many of them.\n  Haumea takes care of all of that by automatically importing the files into an attribute set.\n\n- Modules\n\n  Haumea takes inspiration from traditional programming languages.\n  Visibility makes it easy to create utility modules,\n  and haumea makes self-referencing and creating fixed points a breeze\n  with the introduction of `self`, `super`, and `root`.\n\n- Organized directory layout\n\n  What you see is what you get.\n  By default[^1], the file tree will look exactly like the resulting attribute set.\n\n- Extensibility\n\n  Changing how the files are loaded is as easy as specifying a `loader`,\n  and the `transformer` option makes it possible to extensively manipulate the tree.\n\n[_➔ Getting Started_](https://nix-community.github.io/haumea/intro/getting-started.html)\n\n[^1]: Unless you are doing transformer magic\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnix-community%2Fhaumea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnix-community%2Fhaumea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnix-community%2Fhaumea/lists"}