matt1432
47b1910e38
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs: • Updated input 'astal': 'github:Aylur/astal' (2024-12-30) rev: ce9ba0d07b44c52700fef44ea6c9cbad33c3fe44 → 'github:Aylur/astal' (2025-01-01) rev: d6c3c9c179eba0c9536a1beaaeb0525a63e752f3 • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder' (2024-12-30) rev: 01e3a7a8cd6b7da78bc7bfc883b9b04c328ea2e6 → 'git+https://repo.dec05eba.com/gpu-screen-recorder' (2024-12-31) rev: fbaa73bfc7c61bbe9e3c9d6077a46d758ae12a9f • Updated input 'home-manager': 'github:nix-community/home-manager' (2024-12-28) rev: 10e99c43cdf4a0713b4e81d90691d22c6a58bdf2 → 'github:nix-community/home-manager' (2025-01-01) rev: 5f6aa268e419d053c3d5025da740e390b12ac936 • Updated input 'hyprgrass': 'github:horriblename/hyprgrass' (2024-12-29) rev: 8a66a38e25e0b777ff217af7c9044e6eec4fac10 → 'github:horriblename/hyprgrass' (2025-01-02) rev: bdfa960b97ac98ad9d05c908ee20e053e2942928 • Updated input 'hyprland': 'github:hyprwm/Hyprland' (2024-12-30) rev: 1989b0049f7fb714a2417dfb14d6b4f3d2a079d3 → 'github:hyprwm/Hyprland' (2025-01-01) rev: dde3e082c96cd6987420556bfc430cd5b8e0980c • Updated input 'hyprland/hyprland-protocols': 'github:hyprwm/hyprland-protocols' (2024-10-07) rev: a7c183800e74f337753de186522b9017a07a8cee → 'github:hyprwm/hyprland-protocols' (2025-01-01) rev: 271df559dd30e4bc5ec6af02d017ac0aaabd63a7 • Updated input 'hyprutils': 'github:hyprwm/hyprutils' (2024-12-29) rev: 8af7e4b9ded8b07a2293032aa494efb7c0eab3c5 → 'github:hyprwm/hyprutils' (2025-01-01) rev: c42ce87eb3fe9f3c5fd62f370afe5a7170ebda44 • Updated input 'material-rounded-theme-src': 'github:Nerwyn/material-rounded-theme' (2024-12-21) rev: 1969f1be3a3685bd8a3b5db0f7b9fd16a2cae186 → 'github:Nerwyn/material-rounded-theme' (2025-01-01) rev: 79d7d1e33980a60ef9e856500f302369e1d9e6df • Updated input 'nix-gaming': 'github:fufexan/nix-gaming' (2024-12-29) rev: 578b00c7c0db22464e50d7ae2f492dd9438a284c → 'github:fufexan/nix-gaming' (2025-01-01) rev: a3a26749e81ba3691451adf793242acf2d758574 • Updated input 'nixd': 'github:nix-community/nixd' (2024-12-23) rev: f97db14905a050534b2b28355061f790d171f12f → 'github:nix-community/nixd' (2025-01-01) rev: 17b7dfd1b4a888ded1bbf875b7601e40f43f94e8 • Updated input 'spotifyplus-src': 'github:thlucas1/homeassistantcomponent_spotifyplus' (2024-12-28) rev: 897b92c5fdfdc402037d5d72087e02ac68a745d4 → 'github:thlucas1/homeassistantcomponent_spotifyplus' (2025-01-01) rev: 0cf00348e5d4317fee0a37675670d5a2f26614f0 • Updated input 'spotifywebapi-src': 'github:thlucas1/SpotifyWebApiPython' (2024-12-28) rev: 6c968a4fad3d1eae216e5e954af00fbd0ba35036 → 'github:thlucas1/SpotifyWebApiPython' (2025-01-01) rev: 33e38186dac5c28dc98ed14dbea08987ef66a031 • Updated input 'tuya-local-src': 'github:make-all/tuya-local' (2024-12-30) rev: e79d3103c9e0182f8888282e1fb46ad71b1db5ef → 'github:make-all/tuya-local' (2025-01-01) rev: 80eae9dd82fea2f4b1f02193b1cfa9eda2d89365 Docker Images: • vegardit/gitea-act-runner dind-latest: sha256:e4e403c6d197b86f7421c64d682b0e8b766e3703989449930cdaaec82ea82216 → sha256:a587df58615ddadf61caabdd904c6493ef0419efbda3e523edac96bb52689773 • ghcr.io/linuxserver/bazarr latest: sha256:c99ddc0c3a6c23edec34faf81a21fd9bdb60a02b3b5d916590b7a7e48254c87f → sha256:ac9fe56bee9133bcb9e27fe48faaf83c57b83d75bacc277d9b2619136632b1fe • ghcr.io/linuxserver/prowlarr latest: sha256:447b8d85c4b1290d42b526e4cdd70af380e69bb2f70c4d2497816d7a528d2a08 → sha256:d089b21e8ab2584b7e1713bde5d5f0160d7c9e850ceb2db53158a85ad3caac57 • ghcr.io/linuxserver/sabnzbd latest: sha256:76a15e85e391eb2702ac1c6ccd90fc7b7546913065c1504f708ce9bf863aedbf → sha256:80242140e786c1c73d867e8c84bba16c0ebd20cd27a5c6cf69196168b3fe5e35 • docker.io/fallenbagel/jellyseerr latest: sha256:fe72f4b341fa5c3275826a39aebfff23cbd552c956b0ab2d51dfba6a49b528f8 → sha256:a324fa4d81cce73116801bee3c50b632f3457c0ca0ad31aa692c640e22f50dea Node modules: pkg-types: 1.2.1 -> 1.3.0 typescript-eslint: 8.18.1 -> 8.19.0 @types/node: 22.10.2 -> 22.10.3 Misc Sources: Vuetorrent: 2.19.0 -> 2.20.1 nix-update executions: homepage: 0.10.6 -> 0.10.7
95 lines
2.5 KiB
Nix
95 lines
2.5 KiB
Nix
{
|
|
buildNpmPackage,
|
|
fetchFromGitHub,
|
|
nodePackages,
|
|
python3,
|
|
stdenv,
|
|
cctools,
|
|
IOKit ? {},
|
|
lib,
|
|
enableLocalIcons ? true,
|
|
git,
|
|
}: let
|
|
inherit (lib) optionals optionalString;
|
|
|
|
installLocalIcons = import ./icons.nix {inherit fetchFromGitHub;};
|
|
|
|
pname = "homepage-dashboard";
|
|
version = "0.10.7";
|
|
in
|
|
buildNpmPackage {
|
|
inherit pname version;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "gethomepage";
|
|
repo = "homepage";
|
|
rev = "v${version}";
|
|
hash = "sha256-JZoAjl7gLp1l8tHDdc37XI4917GnLUISno1KQKAWBv4=";
|
|
};
|
|
|
|
npmDepsHash = "sha256-AW7lNkvQeeHkAf6Q23912LiSHJMelR9+4KVSKdlFqd0=";
|
|
|
|
preBuild = ''
|
|
mkdir -p config
|
|
'';
|
|
|
|
postBuild = ''
|
|
# Add a shebang to the server js file, then patch the shebang.
|
|
sed -i '1s|^|#!/usr/bin/env node\n|' .next/standalone/server.js
|
|
patchShebangs .next/standalone/server.js
|
|
'';
|
|
|
|
nativeBuildInputs = [git] ++ optionals stdenv.hostPlatform.isDarwin [cctools];
|
|
|
|
buildInputs =
|
|
[
|
|
nodePackages.node-gyp-build
|
|
]
|
|
++ optionals stdenv.hostPlatform.isDarwin [IOKit];
|
|
|
|
env.PYTHON = "${python3}/bin/python";
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/{share,bin}
|
|
|
|
cp -r .next/standalone $out/share/homepage/
|
|
cp -r public $out/share/homepage/public
|
|
|
|
mkdir -p $out/share/homepage/.next
|
|
cp -r .next/static $out/share/homepage/.next/static
|
|
|
|
chmod +x $out/share/homepage/server.js
|
|
|
|
# This patch must be applied here, as it's patching the `dist` directory
|
|
# of NextJS. Without this, homepage-dashboard errors when trying to
|
|
# write its prerender cache.
|
|
#
|
|
# This patch ensures that the cache implementation respects the env
|
|
# variable `HOMEPAGE_CACHE_DIR`, which is set by default in the
|
|
# wrapper below.
|
|
pushd $out
|
|
git apply ${./prerender_cache_path.patch}
|
|
popd
|
|
|
|
makeWrapper $out/share/homepage/server.js $out/bin/homepage \
|
|
--set-default PORT 3000 \
|
|
--set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard \
|
|
--set-default HOMEPAGE_CACHE_DIR /var/cache/homepage-dashboard
|
|
|
|
${optionalString enableLocalIcons installLocalIcons}
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
doDist = false;
|
|
|
|
meta = {
|
|
description = "Highly customisable dashboard with Docker and service API integrations";
|
|
changelog = "https://github.com/gethomepage/homepage/releases/tag/v${version}";
|
|
mainProgram = "homepage";
|
|
homepage = "https://gethomepage.dev";
|
|
license = lib.licenses.gpl3;
|
|
};
|
|
}
|