nix-packages/readme.md

52 lines
1.7 KiB
Markdown

# Nix Packages
## Description
An assortment of Nix packages not in the official collection.
They can either be used individually or, if you're on NixOS, imported wholesale using the top-level module.
These are purposefully written without support for [overriding](https://nixos.org/guides/nix-pills/17-nixpkgs-overriding-packages) in order to minimise complexity.
If you want to build upon them I encourage you to fork this repository.
## Structure
`nixos-module.nix`
- The top-level NixOS module containing all package expressions as an overlay, and all package modules.
Once imported the overlay contents can be found under `pkgs . kernelmaft`.
`packages/<package-name>/package.nix`
- A Nix package expression.
`packages/<package-name>/nixos-module.nix`
- NixOS module providing additional features for the package in question, such as for example systemd units.
Can be imported directly, but is also imported by the top-level module.
Not present for all packages.
## Examples
> **Note:**
> You should replace the commits here with the latest one, or whichever one you want to use.
> The hashes will of course differ.
Using the top-level NixOS module:
```nix
imports = [
( fetchTarball {
url = "https://kernelmaft.com/forgejo/zedfrigg/nix-packages/archive/f91196c8a4a3ba6953c85b94ea75dee5e331548f.tar.gz" ;
sha256 = "sha256:1wx7ljabgndandcd11jmr590jfpkhs55mqrgksf24ji90m37wpq0" ;
} + "/nixos-module.nix" )
] ;
```
Using a specific package expression:
```nix
pkgs . callPackage ( import ( pkgs . fetchurl {
url = "https://kernelmaft.com/forgejo/zedfrigg/nix-packages/raw/commit/c45884c66f31f8d8d80866bebc13e9e963e02a70/packages/python3.11-django-imagekit/package.nix" ;
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" ;
} ) ) {}
```