8 py = python3.override {
10 packageOverrides = final: prev: {
11 django = prev.django_5;
15 py.pkgs.buildPythonApplication rec {
16 pname = "healthchecks";
20 src = fetchFromGitHub {
21 owner = "healthchecks";
23 rev = "refs/tags/v${version}";
24 sha256 = "sha256-aKt9L3ZgZ8HffcNNJaR+hAI38raWuLp2q/6+rvkl2pM=";
27 propagatedBuildInputs = with py.pkgs; [
48 "DISCORD_CLIENT_SECRET"
50 "LINENOTIFY_CLIENT_SECRET"
53 "PUSHBULLET_CLIENT_SECRET"
63 localSettings = writeText "local_settings.py" ''
66 STATIC_ROOT = os.getenv("STATIC_ROOT")
68 ${lib.concatLines (map
70 ${secret}_FILE = os.getenv("${secret}_FILE")
72 with open(${secret}_FILE, "r") as file:
73 ${secret} = file.readline()
79 mkdir -p $out/opt/healthchecks
80 cp -r . $out/opt/healthchecks
81 chmod +x $out/opt/healthchecks/manage.py
82 cp ${localSettings} $out/opt/healthchecks/hc/local_settings.py
86 # PYTHONPATH of all dependencies used by the package
87 pythonPath = py.pkgs.makePythonPath propagatedBuildInputs;
90 inherit (nixosTests) healthchecks;
95 homepage = "https://github.com/healthchecks/healthchecks";
96 description = "Cron monitoring tool written in Python & Django";
97 license = licenses.bsd3;
98 maintainers = with maintainers; [ phaer ];