{"id":18980575,"url":"https://github.com/snowfallorg/dotbox","last_synced_at":"2025-08-19T04:37:01.440Z","repository":{"id":82459856,"uuid":"544850173","full_name":"snowfallorg/dotbox","owner":"snowfallorg","description":"Integrate DotBox with Nix","archived":false,"fork":false,"pushed_at":"2024-05-25T22:17:54.000Z","size":30,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T12:11:10.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snowfallorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2022-10-03T10:42:43.000Z","updated_at":"2024-05-25T22:17:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1ead6f1-4e82-41de-83e1-03fb423cd35a","html_url":"https://github.com/snowfallorg/dotbox","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowfallorg%2Fdotbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowfallorg%2Fdotbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowfallorg%2Fdotbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowfallorg%2Fdotbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snowfallorg","download_url":"https://codeload.github.com/snowfallorg/dotbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249239334,"owners_count":21235845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-08T16:07:10.154Z","updated_at":"2025-04-16T12:31:10.883Z","avatar_url":"https://github.com/snowfallorg.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DotBox ❤ Nix\n\n\u003ca href=\"https://nixos.wiki/wiki/Flakes\" target=\"_blank\"\u003e\n\t\u003cimg alt=\"Nix Flakes Ready\" src=\"https://img.shields.io/static/v1?logo=nixos\u0026logoColor=d8dee9\u0026label=Nix%20Flakes\u0026labelColor=5e81ac\u0026message=Ready\u0026color=d8dee9\u0026style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/snowfallorg/lib\" target=\"_blank\"\u003e\n\t\u003cimg alt=\"Built With Snowfall\" src=\"https://img.shields.io/static/v1?logoColor=d8dee9\u0026label=Built%20With\u0026labelColor=5e81ac\u0026message=Snowfall\u0026color=d8dee9\u0026style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://dotbox.dev\" target=\"_blank\"\u003e\n\t\u003cimg alt=\"Powered By DotBox\" src=\"https://img.shields.io/static/v1?logoColor=d8dee9\u0026label=Powered%20By\u0026labelColor=5e81ac\u0026message=DotBox\u0026color=d8dee9\u0026style=for-the-badge\"\u003e\n\u003c/a\u003e\n\n\u003cp\u003e\n\u003c!--\n\tThis paragraph is not empty, it contains an em space (UTF-8 8195) on the next line in order\n\tto create a gap in the page.\n--\u003e\n  \n\u003c/p\u003e\n\nThis Nix Flake provides the [DotBox](https://dotbox.dev) command line package\nas well as a development shell and Nix library which allows you to import DotBox\nfiles into Nix.\n\n## Try Without Installing\n\nYou can try DotBox out without committing to installing it on your system by running\nthe following command.\n\n```bash\nnix run github:snowfallorg/dotbox\n```\n\n## Install `dotbox`\n\n### Nix Profile\n\nYou can install this package imperatively with the following command.\n\n```bash\nnix profile install github:snowfallorg/dotbox\n```\n\n### Nix Configuration\n\nYou can install this package by adding it as an input to your Nix flake.\n\n```nix\n{\n\tdescription = \"My system flake\";\n\n\tinputs = {\n\t\tnixpkgs.url = \"github:nixos/nixpkgs/nixos-22.05\";\n\n\t\t# Snowfall Lib is not required, but will make configuration easier for you.\n\t\tsnowfall-lib = {\n\t\t\turl = \"github:snowfallorg/lib\";\n\t\t\tinputs.nixpkgs.follows = \"nixpkgs\";\n\t\t};\n\n\t\tdotbox = {\n\t\t\turl = \"github:snowfallorg/dotbox\";\n\t\t\tinputs.nixpkgs.follows = \"nixpkgs\";\n\t\t};\n\t};\n\n\toutputs = inputs:\n\t\tinputs.snowfall-lib.mkFlake {\n\t\t\tinherit inputs;\n\t\t\tsrc = ./.;\n\n\t\t\toverlays = with inputs; [\n\t\t\t\t# Use the overlay provided by this flake.\n\t\t\t\tdotbox.overlay\n\n\t\t\t\t# There is also a named overlay, though the output is the same.\n\t\t\t\tdotbox.overlays.\"nixpkgs/snowfallorg\"\n\t\t\t];\n\t\t};\n}\n```\n\nIf you've added the overlay from this flake, then in your system configuration\nyou can add the `snowfallorg.dotbox` package.\n\n```nix\n{ pkgs }:\n\n{\n\tenvironment.systemPackages = with pkgs; [\n\t\tsnowfallorg.dotbox\n\t];\n}\n```\n\n## Dev Shell\n\nIf you want access to DotBox temporarily, you can enter a development shell\navailable with this flake.\n\n```bash\nnix develop github:snowfallorg/dotbox\n```\n\n## Library\n\nThis flake provides a helper library for integrating DotBox with Nix. See the\nfollowing example for information on using this flake's library.\n\n```nix\n{\n\tdescription = \"My flake\";\n\n\tinputs = {\n\t\tnixpkgs.url = \"github:nixos/nixpkgs/nixos-22.05\";\n\n\t\tdotbox = {\n\t\t\turl = \"github:snowfallorg/dotbox\";\n\t\t\tinputs.nixpkgs.follows = \"nixpkgs\";\n\t\t};\n\t};\n\n\toutputs = { nixpkgs, dotbox }:\n\t\tlet\n\t\t\t# We require a NixPkgs instance in order to build DotBox files.\n\t\t\tpkgs = nixpkgs.legacyPackages.x86_64-linux;\n\n\t\t\t# Access helpers like `mkImporter` from `dotbox.lib`.\n\t\t\timporter = dotbox.lib.mkImporter pkgs;\n\n\t\t\t# Integrate your DotBox files with Nix!\n\t\t\tmy-config = importer.import ./my.box;\n\t\t\tsome-value = my-config.user.name.first;\n\t\tin\n\t\t{};\n\t\t\n}\n```\n\n### `dotbox.lib.mkImporter`\n\nConstruct a DotBox importer.\n\nType: `Attrs -\u003e Attrs`\n\nUsage:\n\n```nix\nmkImporter pkgs\n```\n\nResult:\n\n```nix\n{ import = file: { /* ... */ }; }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowfallorg%2Fdotbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnowfallorg%2Fdotbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowfallorg%2Fdotbox/lists"}