A packaging of Zulip server for NixOS
  • Nix 95.2%
  • Python 4.8%
Find a file
networkException b9c6e9b709
All checks were successful
Lints / lints (x86_64-linux) (pull_request) Successful in 7s
Check workflows / lints (x86_64-linux) (pull_request) Successful in 9s
Nixos tests / zulip-monitoring (x86_64-linux) (pull_request) Successful in 8m3s
Nixos tests / zulip-email (x86_64-linux) (pull_request) Successful in 8m12s
Nixos tests / zulip-tornado (x86_64-linux) (pull_request) Successful in 8m4s
Nixos tests / zulip-restart (x86_64-linux) (pull_request) Successful in 8m58s
Nixos tests / zulip (x86_64-linux) (pull_request) Successful in 9m6s
Nixos tests / zulip-backup (x86_64-linux) (pull_request) Successful in 2m39s
fix(zulip): pin social-auth-app-django to <6.0.0
This follows upstream's pin of the package and fixes
SAML authentication breaking with newer nixpkgs.

See https://zulip.afnix.fr/#narrow/channel/12-nix-zulip/topic/Incompatible.20social-auth-app-django/near/434815
2026-10-16 20:24:56 +02:00
.forgejo/workflows nix: reduce dependencies on external repositories 2026-10-07 16:49:13 +02:00
LICENSES zulip-prometheus-exporter: init at 0.1.0 2025-08-06 17:16:15 -07:00
nix fix(zulip): pin social-auth-app-django to <6.0.0 2026-10-16 20:24:56 +02:00
.envrc pluralize attributes 2025-08-29 16:48:53 -07:00
.gitignore add nixos test for zulip 2025-08-06 21:21:34 -07:00
default.nix nix: add a simpler entrypoint 2026-10-08 18:34:32 +02:00
engage.toml nix: reduce dependencies on external repositories 2026-10-07 16:49:13 +02:00
README.md feat(lappverk): init tooling 2026-04-01 11:36:21 +02:00
REUSE.toml start the project 2025-08-06 13:35:47 -07:00
shell.nix nix: add a simpler entrypoint 2026-10-08 18:34:32 +02:00
treefmt.toml start the project 2025-08-06 13:35:47 -07:00

nix-zulip

This repository packages Zulip for Nix and NixOS.

Updating

  1. Bump the version in the zulip-server package and the other dependencies (you can use nix-update for that)

  2. Check if any dependency changed from the upstream pyproject.toml

  3. [Optional] Compare version requirements from uv.lock and

  4. Create a new patchset using lappverk. A typical workflow looks like (for 11.2 -> 11.4 update):

    pushd nix/packages/zulip-server
    lappverk checkout @/patches-11.2
    lappverk init patch-series @/patches-11.4 --base 11.4
    pushd $(lappverk checkout nix/packages/zulip-server/patches-11.4)
    git cherry-pick lappverk/base/patches-11.2..lappverk/patches-11.2
    
    # resolve (or --skip) any conflicts that come up, as per usual...
    # then, once the whole series has been cherry-picked
    
    lappverk export @/patches-11.4
    popd
    popd
    

    This workflow is encoded in the lappverk-start-rebase OLD_TAG NEW_TAG and lappverk-finish-rebase bash functions exported by the shell.

  5. Run the tests with engage