Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/numtide/nixpkgs-unfree
nixpkgs with the unfree bits enabled
https://github.com/numtide/nixpkgs-unfree
nix-flake
Last synced: 3 months ago
JSON representation
nixpkgs with the unfree bits enabled
- Host: GitHub
- URL: https://github.com/numtide/nixpkgs-unfree
- Owner: numtide
- License: mit
- Created: 2022-02-04T15:15:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T14:21:31.000Z (7 months ago)
- Last Synced: 2024-04-19T19:06:44.185Z (7 months ago)
- Topics: nix-flake
- Language: Nix
- Homepage:
- Size: 140 KB
- Stars: 83
- Watchers: 7
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nixpkgs-unfree - nixpkgs with the unfree bits enabled
**STATUS: alpha**
The [nixpkgs](https://github.com/NixOS/nixpkgs) project contains package
definitions for free and unfree packages but only builds free packages. This
project is complementary. We're enabling the unfree bits and pushing those to
our cache. It also makes the flake use-case a bit easier to use.Initially, this project spawned from the reflections drawn in and is now
expanding to provide a wider set of features.## Features
### Binary cache
The CI is pushing build results to . The
site provides instructions on adding the cache to your system.### CUDA / performance packages
Some packages have been changed to use the better-performing proprietary
libraries. Think MPI / Blas / Lapack / ...To see the full list, look at the [overlay](./overlay.nix).
### Flake usage
If your flake depends on unfree packages, please consider pointing it to this
project to avoid creating more instances of nixpkgs. See
for a more
in-depth explanation of the issue.Here is how you can replace your instance of nixpkgs with unfree packages
enabled:```nix
{
inputs.nixpkgs.url = "github:numtide/nixpkgs-unfree";
inputs.nixpkgs.inputs.nixpkgs.follows = "nixpkgs-unstable";inputs.nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
# Optionally, pull pre-built binaries from this project's cache
nixConfig.extra-substituters = [ "https://numtide.cachix.org" ];
nixConfig.extra-trusted-public-keys = [ "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" ];outputs = { self, nixpkgs, ... }: { ... };
}
```For new flakes, you can use also use our templates like this:
``` console
$ nix flake init -t github:numtide/nixpkgs-unfree
$ nix flake init -t github:numtide/nixpkgs-unfree#devShell # for mkShell based setup
```Or, potentially, you might want to explicitly access unfree packages and have
a separate instance:```nix
{
# The main nixpkgs instance
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";# The unfree instance
inputs.nixpkgs-unfree.url = "github:numtide/nixpkgs-unfree";
inputs.nixpkgs-unfree.inputs.nixpkgs.follows = "nixpkgs";# Optionally, pull pre-built binaries from this project's cache
nixConfig.extra-substituters = [ "https://numtide.cachix.org" ];
nixConfig.extra-trusted-public-keys = [ "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" ];outputs = { self, nixpkgs, nixpkgs-unfree }: { ... };
}
```### Nix run
Thanks to this flake, it make it easy to run unfree packages. Eg:
```console
$ nix run github:numtide/nixpkgs-unfree/nixos-unstable#slack
```See the "supported channels" section to find out which channels are being synched.
## Supported channels
FIXME: channel branches are currently force-pushed so they shouldn't be used as pinned sources.
The following channels are updated daily (more in the future):
* nixos-unstable
* nixpkgs-unstable
* nixos-23.05
* nixos-23.11## Credits
The first implementation of that idea was done by @domenkozar at
.## Terms and Conditions
All the code in this repository is published under the MIT and will always
remain under an OSI-compliant license.The binary cache is available for free for non-commercial usage.
If you're interested in supporting this project,
[get in touch!](https://numtide.com/#contact).