2025-03-02 17:38:00 +01:00
# Nix Packages
2025-03-03 13:02:11 +01:00
## Description
2025-03-02 17:41:26 +01:00
An assortment of Nix packages not in the official collection.
2025-03-04 13:13:22 +01:00
They can either be used individually or, if you're on NixOS, imported wholesale using the top-level module.
2025-03-02 19:46:18 +01:00
2025-03-02 19:45:25 +01:00
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.
2025-03-03 12:58:27 +01:00
2025-03-04 13:13:22 +01:00
## Structure
2025-03-04 13:39:51 +01:00
`nixos-module.nix` \
**& #x21B3 ; ** 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` .
2025-03-04 13:13:22 +01:00
2025-03-04 13:39:51 +01:00
`packages/<package-name>/package.nix` \
**& #x21B3 ; ** A Nix package expression.
2025-03-04 13:13:22 +01:00
2025-03-04 13:39:51 +01:00
`packages/<package-name>/nixos-module.nix` \
**& #x21B3 ; ** 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.
2025-03-04 13:13:22 +01:00
2025-03-03 13:02:11 +01:00
## 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.
2025-03-03 12:58:27 +01:00
2025-03-04 13:20:42 +01:00
Using the top-level NixOS module:
2025-03-03 12:58:27 +01:00
```nix
imports = [
2025-03-03 13:05:59 +01:00
( fetchTarball {
2025-03-04 13:20:42 +01:00
url = "https://kernelmaft.com/forgejo/zedfrigg/nix-packages/archive/f91196c8a4a3ba6953c85b94ea75dee5e331548f.tar.gz" ;
2025-03-03 13:05:59 +01:00
sha256 = "sha256:1wx7ljabgndandcd11jmr590jfpkhs55mqrgksf24ji90m37wpq0" ;
2025-03-04 12:15:12 +01:00
} + "/nixos-module.nix" )
2025-03-03 12:58:27 +01:00
] ;
```
2025-03-04 13:20:42 +01:00
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=" ;
} ) ) {}
```