From 669b355d99640acf7055d5d3e941730b8016c465 Mon Sep 17 00:00:00 2001 From: kalipso Date: Mon, 12 Jan 2026 14:02:14 +0100 Subject: [PATCH] WIP --- machines/nextcloud/configuration.nix | 38 ++++++++++++++++--- outputs.nix | 57 ++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 5 deletions(-) diff --git a/machines/nextcloud/configuration.nix b/machines/nextcloud/configuration.nix index 8350dd6..7780917 100644 --- a/machines/nextcloud/configuration.nix +++ b/machines/nextcloud/configuration.nix @@ -48,11 +48,39 @@ with lib; extraAppsEnable = true; extraApps = { inherit (config.services.nextcloud.package.packages.apps) contacts calendar polls registration collectives forms; - deck = pkgs.fetchNextcloudApp { - sha256 = "sha256-1sqDmJpM9SffMY2aaxwzqntdjdcUaRySyaUDv9VHuiE="; - url = "https://link.storjshare.io/raw/jvrl62dakd6htpyxohjkiiqiw5ma/mal/deck32.tar.gz"; - license = "agpl3Plus"; - }; + + deckWithDrag = pkgs.php.buildComposerProject (finalAttrs: { + pname = "deck"; + version = "1.0.0"; + src = pkgs.fetchzip { + url = "https://github.com/nextcloud/deck/archive/refs/heads/stable32.zip"; + hash = "sha256-eMHjfki+axEtlhV6518mlAzPhZxAZqEX7HiRsJf1vxo="; + }; + composerNoDev = true; + vendorHash = pkgs.lib.fakeHash; + postInstall = '' + cp -r $out/share/php/deck/* $out/ + rm -r $out/share + ''; + }); + + #deckWithDrag = pkgs.fetchNextcloudApp { + # appName = "deck"; + # appVersion = "1.16.2"; + # license = "agpl3Plus"; + # teams = [ pkgs.lib.teams.nextcloud ]; + # url = "https://github.com/nextcloud-releases/deck/releases/download/v1.16.2/deck-v1.16.2.tar.gz"; + # hash = "sha256-rFymTIr7pOuMES3DMIOS7cvq+CEIekLZYLqz58TOP04="; + # description = ""; + # homepage = "https://github.com/nextcloud/deck"; + # unpack = true; + # patches = [ + # (pkgs.fetchpatch { + # url = "https://git.dynamicdiscord.de/ahtlon/deck/commit/77cbcf42ca80dd32e450839f02faca2e5fed3761.patch"; + # sha256 = "sha256-agwFMwXO8WLL0+pdeKF/pA59V9ah9t590sCl1msQonA="; + # }) + # ]; + #}; }; settings = { trusted_domains = ["10.0.0.13"]; diff --git a/outputs.nix b/outputs.nix index 7b3ebd8..363d6e8 100644 --- a/outputs.nix +++ b/outputs.nix @@ -74,6 +74,63 @@ in (utils.lib.eachSystem (builtins.filter filter_system utils.lib.defaultSystems ''; }; + #deckWithDrag = pkgs.buildNpmPackage { + # name = "deckWithDrag"; + # version = "1.16.2"; + # src = pkgs.fetchFromGitHub { + # owner = "nextcloud"; + # repo = "deck"; + # rev = "v1.16.2"; + # hash = "sha256-NBkCdMjIY2r+AgCLBt4YnD4sUW7GTKxT5vHAmpk4wno="; + # leaveDotGit = true; + # }; + + # makeCacheWritable = true; + # npmDepsHash = "sha256-VaKfpYFtrTUvGbKORPvex1FvLz4vR7zfHAf+fdf/6OE="; + + # buildInputs = with pkgs; [ + # gnumake krankerl php84Packages.composer php nodejs_24 + # ]; + + # patches = [ + # (pkgs.fetchpatch { + # url = "https://git.dynamicdiscord.de/ahtlon/deck/commit/77cbcf42ca80dd32e450839f02faca2e5fed3761.patch"; + # sha256 = "sha256-agwFMwXO8WLL0+pdeKF/pA59V9ah9t590sCl1msQonA="; + # }) + # ]; + + # buildPhase = '' + # ${pkgs.krankerl}/bin/krankerl package + # ''; + #}; + + deckWithDrag = pkgs.stdenv.mkDerivation { + name = "deckWithDrag"; + src = pkgs.fetchFromGitHub { + owner = "nextcloud"; + repo = "deck"; + rev = "v1.16.2"; + hash = "sha256-NBkCdMjIY2r+AgCLBt4YnD4sUW7GTKxT5vHAmpk4wno="; + leaveDotGit = true; + }; + + buildInputs = with pkgs; [ + gnumake krankerl php84Packages.composer php nodejs_24 + ]; + + patches = [ + (pkgs.fetchpatch { + url = "https://git.dynamicdiscord.de/ahtlon/deck/commit/77cbcf42ca80dd32e450839f02faca2e5fed3761.patch"; + sha256 = "sha256-agwFMwXO8WLL0+pdeKF/pA59V9ah9t590sCl1msQonA="; + }) + ]; + + buildPhase = '' + make release + #${pkgs.krankerl}/bin/krankerl package + ''; + }; + run-vm = pkgs.writeShellScriptBin "run-vm" (builtins.readFile ./scripts/run-vm.sh); };