52 lines
1.7 KiB
Markdown
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=" ;
|
|
} ) ) {}
|
|
```
|