{ pkgs, sources, config, ... }: let nix-pkgs = import sources.nix-pkgs { inherit pkgs; }; in { services.django-apps.sites.gestiojeux = { source = "https://git.dgnum.eu/DGNum/gestiojeux"; branch = "production"; domain = "gestiojeux.webapps.dgnum.eu"; nginx = { enableACME = true; forceSSL = true; }; webHookSecret = config.age.secrets."webhook-gestiojeux_token".path; application = { type = "wsgi"; module = "gestiojeux"; }; python = pkgs.python3.override { packageOverrides = _: _: { inherit (nix-pkgs) django-autoslug django-cas-ng loadcredential markdown-icons ; }; }; django = ps: ps.django_4; dependencies = ps: [ ps.django-autoslug ps.loadcredential ps.django-cas-ng ps.django-cleanup ps.django-haystack ps.django-markdownx ps.django-tables2 ps.pillow ps.psycopg2 ps.whoosh # Django haystack is drunk ps.setuptools ]; staticDirectory = "source/public/static"; mediaDirectory = "source/public/media"; credentials = { SECRET_KEY = config.age.secrets."dj_gestiojeux-secret_key_file".path; }; environment = { GESTIOJEUX_ALLOWED_HOSTS = [ "gestiojeux.webapps.dgnum.eu" ]; GESTIOJEUX_EMAIL_HOST_USER = "web-services@infra.dgnum.eu"; GESTIOJEUX_DEFAULT_FROM_EMAIL = "Kadenios "; GESTIOJEUX_SERVER_EMAIL = "webapps@infra.dgnum.eu"; GESTIOJEUX_DB_NAME = "dj-gestiojeux"; GESTIOJEUX_DB_USER = "dj-gestiojeux"; }; }; }