lol

homepage-dashboard: init at 0.6.21

+84
+82
pkgs/servers/homepage-dashboard/default.nix
··· 1 + { buildNpmPackage 2 + , fetchFromGitHub 3 + , nodePackages 4 + , python3 5 + , lib 6 + , fetchpatch 7 + , makeBinaryWrapper 8 + , nixosTests 9 + }: 10 + 11 + buildNpmPackage rec { 12 + pname = "homepage-dashboard"; 13 + version = "0.6.21"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "benphelps"; 17 + repo = "homepage"; 18 + rev = "v${version}"; 19 + hash = "sha256-kjxA02hJj/GAQ0fM1xTtXAnZSQgVyE+EMRrXis1Vr+o="; 20 + }; 21 + 22 + npmDepsHash = "sha256-O6SQYx5vxscMsbWv0ynUYqdUkOp/nMtdvlZ/Mp95sBY="; 23 + 24 + patches = [ 25 + (fetchpatch { 26 + name = "env-config-dir.patch"; 27 + url = "https://github.com/benphelps/homepage/commit/ca396ce96bce52f6c06a321f292aa94a66ceeb97.patch"; 28 + hash = "sha256-eNnW/ce4ytoKR6jH1Ztc4UTWOmL0uGRdY6nYBIVYM6k="; 29 + }) 30 + ]; 31 + 32 + preBuild = '' 33 + mkdir -p config 34 + ''; 35 + 36 + postBuild = '' 37 + # Add a shebang to the server js file, then patch the shebang. 38 + sed -i '1s|^|#!/usr/bin/env node\n|' .next/standalone/server.js 39 + patchShebangs .next/standalone/server.js 40 + ''; 41 + 42 + buildInputs = [ 43 + nodePackages.node-gyp-build 44 + ]; 45 + 46 + env.PYTHON = "${python3}/bin/python"; 47 + 48 + installPhase = '' 49 + runHook preInstall 50 + 51 + mkdir -p $out 52 + cp -r .next/standalone $out/bin 53 + cp -r public $out/bin/public 54 + 55 + mkdir -p $out/bin/.next 56 + cp -r .next/static $out/bin/.next/static 57 + 58 + mv $out/bin/server.js $out/bin/homepage 59 + chmod +x $out/bin/homepage 60 + 61 + wrapProgram $out/bin/homepage \ 62 + --set-default PORT 3000 \ 63 + --set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard 64 + 65 + runHook postInstall 66 + ''; 67 + 68 + doDist = false; 69 + 70 + passthru.tests = { 71 + inherit (nixosTests) homepage; 72 + }; 73 + 74 + meta = { 75 + description = "A highly customisable dashboard with Docker and service API integrations."; 76 + mainProgram = "homepage"; 77 + homepage = "https://gethomepage.dev"; 78 + license = lib.licenses.gpl3; 79 + maintainers = with lib.maintainers; [ jnsgruk ]; 80 + platforms = lib.platforms.all; 81 + }; 82 + }
+2
pkgs/top-level/all-packages.nix
··· 5362 5362 5363 5363 home-manager = callPackage ../tools/package-management/home-manager { }; 5364 5364 5365 + homepage-dashboard = callPackage ../servers/homepage-dashboard { }; 5366 + 5365 5367 hostsblock = callPackage ../tools/misc/hostsblock { }; 5366 5368 5367 5369 hottext = callPackage ../tools/text/hottext { };