{"id":16568710,"url":"https://github.com/drupol/my-own-nixpkgs","last_synced_at":"2025-10-29T00:31:47.662Z","repository":{"id":233356477,"uuid":"786987914","full_name":"drupol/my-own-nixpkgs","owner":"drupol","description":"A template for maintaining your own Nix expressions in your own repository","archived":false,"fork":false,"pushed_at":"2024-09-22T19:50:08.000Z","size":11,"stargazers_count":21,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T20:44:59.483Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drupol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"drupol"}},"created_at":"2024-04-15T17:15:29.000Z","updated_at":"2024-12-21T15:13:21.000Z","dependencies_parsed_at":"2024-04-15T23:18:07.170Z","dependency_job_id":"7dab7684-a30f-4890-a6b4-f44b1292cd01","html_url":"https://github.com/drupol/my-own-nixpkgs","commit_stats":null,"previous_names":["drupol/my-own-nixpkgs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drupol%2Fmy-own-nixpkgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drupol%2Fmy-own-nixpkgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drupol%2Fmy-own-nixpkgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drupol%2Fmy-own-nixpkgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drupol","download_url":"https://codeload.github.com/drupol/my-own-nixpkgs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238751189,"owners_count":19524536,"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-10-11T21:11:28.005Z","updated_at":"2025-10-29T00:31:47.656Z","avatar_url":"https://github.com/drupol.png","language":"Nix","funding_links":["https://github.com/sponsors/drupol"],"categories":[],"sub_categories":[],"readme":"[![Donate!][donate github]][github sponsors link]\n\n# My Custom Nixpkgs Overlay\n\nThis project provides templates for creating your own collection of custom Nix\nexpressions, similar to what is done in [`nixpkgs`]. It includes a `default`\n[overlay](https://wiki.nixos.org/wiki/Overlays) that exposes all custom\npackages, facilitating their integration into other projects.\n\nWhile this custom repository provides a platform for developing, integrating and\nsharing your own packages, we encourage contributors to also consider submitting\ntheir packages directly to the official [`nixpkgs`] repository. Contributing to\n`nixpkgs` helps to enrich the broader Nix community by making your work\navailable to a wider audience and benefiting from the collective expertise of\nNix developers. However, maintaining your own repository can be advantageous for\nexperimental, personal, or organization-specific packages that require specific\nconfigurations or are not yet ready for broader adoption.\n\nIt also includes a template to create your own infrastructure using Nix.\n\n## Usage\n\n### Setting Up Your Own Repository\n\nThis repository can be used to host your custom Nix packages.\n\n1. Use the `my-own-nixpkgs` template\n   `nix flake new --template git+https://github.com/drupol/my-own-nixpkgs#my-own-nixpkgs ./my-repo`\n   as a starting point\n2. Begin adding packages to the `pkgs/by-name` directory. Follow the same\n   approach as adding packages in `nixpkgs` (similar to [RFC140]). Packages\n   added in this directory will be automatically discovered.\n   - Create a new directory for each package.\n   - Inside each directory, create a `package.nix` file.\n3. Optionally, you can add packages directly to the `pkgs/` directory and\n   manually update the bindings in the `imports/pkgs-all.nix` file.\n\n### Using Your Own Repository\n\nUse the `client` template\n`nix flake new --template git+https://github.com/drupol/my-own-nixpkgs#client ./my-nix-project`\nas a starting point or follow the manual steps hereunder.\n\nTo use this repository as an overlay in another project, follow these steps:\n\n1. **Add the Repository as an Input**:\n\n   Add the following to your `nix` file to include this repository as an input:\n\n   ```nix\n   inputs = {\n       my-custom-nixpkgs.url = \"repo-url\";  # Replace \"repo-url\" with the actual URL to your repository\n   };\n   ```\n\n2. **Include the Overlay in `pkgs`**:\n\n   When constructing `pkgs`, include the overlay as follows:\n\n   ```nix\n   pkgs = import inputs.nixpkgs {\n     overlays = [\n       inputs.my-custom-nixpkgs.overlays.default\n     ];\n   };\n   ```\n\n3. **Use Your Packages**:\n\n   Access the packages in your project like this:\n\n   ```nix\n   buildInputs = [ pkgs.example1 pkgs.example2 ];\n   ```\n\n[RFC140]: https://github.com/NixOS/rfcs/pull/140\n\n### Create your infrastructure repository\n\nThis repository can be used to host your own infrastructure using Nix.\n\n1. Use the `infra` template\n   `nix flake new --template git+https://github.com/drupol/my-own-nixpkgs#infra ./my-infra`\n   as a starting point\n\n### Examples\n\nRefer to the dummy projects `example1` and `example2` for practical examples of\nhow packages can be structured.\n\n## Going further\n\n- Use the continuous integration service of your choice to build and test your\n  packages\n- Add a binary cache to your repository to speed up builds and avoid\n  recompilation using [Cachix](https://cachix.org/)\n- This project uses `flake-parts`, a flake framework. We recommend to it\n  [flake-parts](https://flake.parts)\n\n## Contributing\n\nFeel free to contribute by sending pull requests. We are a usually very\nresponsive team and we will help you going through your pull request from the\nbeginning to the end.\n\nFor some reasons, if you can't contribute to the code and willing to help,\nsponsoring is a good, sound and safe way to show us some gratitude for the hours\nwe invested in this package.\n\nSponsor me on [Github][github sponsors link] and/or any of [the\ncontributors][6].\n\n[donate github]:\n  https://img.shields.io/badge/Sponsor-Github-brightgreen.svg?style=flat-square\n[github sponsors link]: https://github.com/sponsors/drupol\n[6]: https://github.com/drupol/my-own-nixpkgs/graphs/contributors\n[`nixpkgs`]: https://github.com/NixOS/nixpkgs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrupol%2Fmy-own-nixpkgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrupol%2Fmy-own-nixpkgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrupol%2Fmy-own-nixpkgs/lists"}