summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-12-09 22:28:35 -0600
committerTim Keller <tjk@tjkeller.xyz>2025-12-09 22:28:35 -0600
commit3a9347935a837a59bfe874f85b12c18e5fd697f9 (patch)
tree36b8d22489c834e5401cba7417429308e7346ca2
parent19200e70db09118dc47499b942c319cf5c2b937a (diff)
downloadnixos-3a9347935a837a59bfe874f85b12c18e5fd697f9.tar.xz
nixos-3a9347935a837a59bfe874f85b12c18e5fd697f9.zip
immich-frame derivation added
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/immich-frame/default.nix46
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 5ac3a76..aae0751 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -1,6 +1,7 @@
{ pkgs, ... }: {
nixpkgs.overlays = with pkgs; [
(final: prev: {
+ immich-frame = (callPackage ./immich-frame {});
lowbat = (callPackage ./lowbat {});
workcentre-7800-series = (callPackage ./xerox-workcentre-7800-series-driver {});
unclutter-desktop-entry = (callPackage ./unclutter-desktop-entry {});
diff --git a/pkgs/immich-frame/default.nix b/pkgs/immich-frame/default.nix
new file mode 100644
index 0000000..2343019
--- /dev/null
+++ b/pkgs/immich-frame/default.nix
@@ -0,0 +1,46 @@
+{
+ fetchgit,
+ pkgs,
+ python3Packages,
+ buildNpmPackage,
+}:
+
+let
+ version = "0.3.0";
+ src = fetchgit {
+ url = "https://git.tjkeller.xyz/immich-frame";
+ tag = "v${version}";
+ hash = "sha256-zHpbjaa0PH82adsz1kXbJs2FZscbQQmoZTFw63ffuso=";
+ };
+
+ frontend = buildNpmPackage {
+ inherit version src;
+ pname = "immich-frame-frontend";
+
+ npmBuildScript = [ "build" ];
+ npmDepsHash = "sha256-DGQlzgQoRCrYp6Y+WnDmG/QE92v6E3MT9y0bj8lBTfc=";
+
+ installPhase = ''
+ mkdir -p $out
+ cp -R dist $out/
+ '';
+ };
+in python3Packages.buildPythonApplication {
+ inherit version src;
+ pname = "immich-frame";
+
+ makeWrapperArgs = [ "--set" "IMMICH_FRAME_STATIC_WEB_ASSETS" "${frontend}/dist" ];
+
+ pyproject = true;
+ build-system = with python3Packages; [ setuptools ];
+ propagatedBuildInputs = with python3Packages; [
+ flask
+ flask-cors # DEBUG
+ flask-socketio
+ numpy
+ pillow
+ pygame
+ pyopengl
+ requests
+ ];
+}