Home

mint @b054f24312ec9aa6f942324fa6941abc2d10ec2b - refs - log -
-
https://git.jolheiser.com/mint.git
Budget
mint / nix / pkg.nix
- raw -
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  pkgs ? import <nixpkgs> { },
}:
let
  name = "mint";
  python = pkgs.python3Packages.python.override {
    packageOverrides = self: super: {
      django = super.django_5;
    };
  };
in
python.pkgs.buildPythonApplication rec {
  pname = name;
  version = "main";
  pyproject = true;
  src = pkgs.nix-gitignore.gitignoreSource [ ] (
    builtins.path {
      inherit name;
      path = ../.;
    }
  );
  build-system = [ python.pkgs.pdm-backend ];
  nativeBuildInputs = [
    pkgs.makeBinaryWrapper
  ];
  dependencies = with python.pkgs; [
    gunicorn

    setuptools
    environs
    requests

    django
    django-debug-toolbar
    mozilla-django-oidc
  ];
  postBuild = ''
    export MINT_OIDC_CONFIG_URL=
    export MINT_OIDC_CLIENT_ID=
    export MINT_SECRET_KEY=super-secret-key-do-not-use-me
    export MINT_OIDC_CLIENT_SECRET=
    ${python.pythonOnBuildForHost.interpreter} manage.py collectstatic
  '';
  postInstall = ''
    mkdir -p $out/lib
    cp -r . $out/lib/mint
    chmod +x $out/lib/mint/manage.py
    makeWrapper $out/lib/mint/manage.py $out/bin/mint \
      --prefix PYTHONPATH : ${passthru.pythonPath}:$out/${python.sitePackages}
  '';
  passthru = {
    inherit python;
    pythonPath = "${python.pkgs.makePythonPath dependencies}";
  };
  meta = {
    description = "Budget tracking";
    homepage = "https://git.jolheiser.com/mint";
    mainProgram = "mint";
  };
}