{"id":18666777,"url":"https://github.com/bionode/biopkgs","last_synced_at":"2025-11-06T13:30:35.493Z","repository":{"id":50199033,"uuid":"104485105","full_name":"bionode/biopkgs","owner":"bionode","description":"Custom Nix packages not yet available on NixOS/nixpkgs","archived":false,"fork":false,"pushed_at":"2022-12-08T01:31:50.000Z","size":3807,"stargazers_count":1,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T18:11:49.636Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bionode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-22T14:41:31.000Z","updated_at":"2021-11-22T16:48:34.000Z","dependencies_parsed_at":"2023-01-24T21:00:11.910Z","dependency_job_id":null,"html_url":"https://github.com/bionode/biopkgs","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbiopkgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbiopkgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbiopkgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbiopkgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bionode","download_url":"https://codeload.github.com/bionode/biopkgs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239493676,"owners_count":19647995,"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-07T08:34:01.018Z","updated_at":"2025-11-06T13:30:35.450Z","avatar_url":"https://github.com/bionode.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pkgs\n\u003e Nixpkgs personalized\n\nThis can be used as a Git submodule to pin nixpkgs to a particular release and add custom packages. It also allows to easily create Docker and Singularity containers.\n\n## Organization\nThis repo tries to be minimal and thus does not include packages definitions from [NixOS/nixpkgs](https://github.com/NixOS/nixpkgs). Yet it follows the same folder structure so that customs packages added here can easily be copy pasted to a `NixOS/nixpkgs` fork to be included in the official nixpkgs release via pull requests. Custom packages added this way to the official Nix will be maintained there and removed from this repo.\n\n## New projects\nCopy `default.nix` and `shell.nix` into the root of your new project and add this repo as a git submodule.\nEdit `default.nix` so that the `pkgs` property matches the relative location of  `all-packages.nix`.\nEdit `shell.nix` so that the name and version are relevant to your project.\n\n## Usage\nEdit `shell.nix` to adjust the name and version of your project to anything you want (optional).\n\n### Add dependencies\nYou can put any dependencies in the property `buildInputs` of the `shell.nix` file.\n\n### Change packages source\nEdit `nixsrc.json` and change the property `origin.rev` (revision) to any Git commit hash of [NixOS/nixpkgs](https://github.com/NixOS/nixpkgs) that you would like to use. The `version` property is a meaningful human friendly string that represents the current source and is used for things like tagging Docker images. It can be anything you want, such as \"`17.09-beta`\" (a Nix release tag), \"`my-private-fork`\" or \"`lab-name`\". If you want you can also change the `owner` and `repo` to a GitHub fork of `NixOS/nixpkgs`. You can figure out the needed `sha256` property by trying to run any command after the change and looking at the output error where it says `output path ‘/nix/store/X’ has r:sha256 hash ‘Y’ when ‘Z’ was expected` and replacing the `sha256` property with the hash `‘Z’`.\n\n\n### Commands\nAs script is provided to add easy to use commands to your shell. Just `source ./nix` in the root of this repository and you will be able to use the commands below:\n\n#### Shell\n\u003e`nix shell`\n\nGoes into a shell with the dependencies specified in `shell.nix`.  \nSimilar to doing: `nix-shell` in the repository root.\n\n#### Install\n\u003e `nix install package-name`\n\nInstalls any package from official Nix or custom defined in this repo.  \nSimilar to doing: `nix-env -f ./default.nix -iA package-name`\n\n#### Build\n\u003e `nix build package-name-or-shell`\n\nBuilds any packages from official Nix or custom defined in this repo. Can also build the `nix shell` environment when called with `shell` instead of the package name. The result will be stored in `/nix/store` and linked locally at `result`.  \nSimilar to doing: `nix-build . -A package-name-or-shell`\n\n#### Docker\n\u003e `nix docker package-name-or-shell`\n\nSame as `nix build` but `result` will point to a Docker compatible tarball that will automatically be loaded into Docker as the root base system and run.  \nSimilar to doing:\n```bash\nnix-build . -A dockerTar --argstr pkg package-name-or-shell\ndocker load \u003c result\ndocker run -ti --rm -v $(pwd):/data package-name-or-shell:pkg-version_nix-version /bin/sh\n```\n\n#### Singularity\n\u003e `nix singularity package-name-or-shell`\n\nSimilar to `nix docker` but instead of running the Docker image loaded from the `result` Docker tarball, it will export it back into another tarball that can be loaded by Singularity with:  \n`singularity exec package-name-or-shell_pkg-version_nix-version.tar.gz`  \nSimilar to doing:\n```bash\nnix-build . -A dockerTar --argstr pkg package-name-or-shell\ndocker load \u003c result\ndocker run package-name-or-shell:pkg-version_nix-version /bin/sh\ndocker export package-name-or-shell:pkg-version_nix-version | \\\n  gzip \u003e package-name-or-shell_pkg-version_nix-version.tar.gz\n```\n\n### Add new packages\nPut a `default.nix` derivation for your package in the appropriate folder structure inside `pkgs` (have a look at how packages are organized at [NixOS/nixpkgs](https://github.com/NixOS/nixpkgs)). Then add a `callPackage` definition inside the property `customPkgs` of `pkgs/top-level/all-packages.nix`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbionode%2Fbiopkgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbionode%2Fbiopkgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbionode%2Fbiopkgs/lists"}