From 762d460330edc31faf0a4825e772ef685f46ffdf Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Mon, 2 Feb 2026 11:12:41 +0100 Subject: [PATCH 1/3] plik{,d}: untangle derivation definitions this shouldn't create any rebuilds --- pkgs/servers/plik/default.nix | 9 ++-- pkgs/servers/plik/plik.nix | 32 +++++++++++++ pkgs/servers/plik/{programs.nix => plikd.nix} | 48 ++++--------------- 3 files changed, 45 insertions(+), 44 deletions(-) create mode 100644 pkgs/servers/plik/plik.nix rename pkgs/servers/plik/{programs.nix => plikd.nix} (51%) diff --git a/pkgs/servers/plik/default.nix b/pkgs/servers/plik/default.nix index dd0b0d7b446f..e09341865d06 100644 --- a/pkgs/servers/plik/default.nix +++ b/pkgs/servers/plik/default.nix @@ -9,7 +9,8 @@ let version = "1.3.7"; - programs = callPackage ./programs.nix { }; + plikd-unwrapped = callPackage ./plikd.nix { }; + plik = callPackage ./plik.nix { plikd = plikd-unwrapped; }; webapp = fetchurl { url = "https://github.com/root-gg/plik/releases/download/${version}/plik-${version}-linux-amd64.tar.gz"; @@ -19,19 +20,19 @@ let in { - inherit (programs) plik plikd-unwrapped; + inherit plik plikd-unwrapped; plikd = runCommand "plikd-${version}" { nativeBuildInputs = [ makeWrapper ]; - inherit (programs.plikd-unwrapped) passthru; + inherit (plikd-unwrapped) passthru; } '' mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/ mv plik-*/webapp/dist $out/libexec/plikd/webapp - cp ${programs.plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd + cp ${plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \ --chdir "$out/libexec/plikd/bin" ''; diff --git a/pkgs/servers/plik/plik.nix b/pkgs/servers/plik/plik.nix new file mode 100644 index 000000000000..631bdb6b422b --- /dev/null +++ b/pkgs/servers/plik/plik.nix @@ -0,0 +1,32 @@ +{ + buildGoModule, + plikd, +}: + +buildGoModule (finalAttrs: { + pname = "plik"; + inherit (plikd) + version + src + postPatch + passthru + ; + + subPackages = [ "client" ]; + + vendorHash = null; + + postInstall = '' + mv $out/bin/client $out/bin/plik + ''; + + meta = { + inherit (plikd.meta) + description + homepage + license + maintainers + ; + mainProgram = "plik"; + }; +}) diff --git a/pkgs/servers/plik/programs.nix b/pkgs/servers/plik/plikd.nix similarity index 51% rename from pkgs/servers/plik/programs.nix rename to pkgs/servers/plik/plikd.nix index 66dae265238d..a0e718aa7638 100644 --- a/pkgs/servers/plik/programs.nix +++ b/pkgs/servers/plik/plikd.nix @@ -2,12 +2,11 @@ lib, buildGoModule, fetchFromGitHub, - makeWrapper, - runCommand, nixosTests, }: -let +buildGoModule rec { + pname = "plikd-unwrapped"; version = "1.3.8"; src = fetchFromGitHub { @@ -17,6 +16,8 @@ let hash = "sha256-WCtfkzlZnyzZDwNDBrW06bUbLYTL2C704Y7aXbiVi5c="; }; + subPackages = [ "server" ]; + vendorHash = null; meta = { @@ -24,7 +25,6 @@ let description = "Scalable & friendly temporary file upload system"; maintainers = [ ]; license = lib.licenses.mit; - mainProgram = "plik"; }; postPatch = '' @@ -32,43 +32,11 @@ let --replace '"0.0.0"' '"${version}"' ''; + postFixup = '' + mv $out/bin/server $out/bin/plikd + ''; + passthru.tests = { inherit (nixosTests) plikd; }; - -in -{ - - plik = buildGoModule { - pname = "plik"; - inherit - version - meta - src - vendorHash - postPatch - passthru - ; - - subPackages = [ "client" ]; - postInstall = '' - mv $out/bin/client $out/bin/plik - ''; - }; - - plikd-unwrapped = buildGoModule { - pname = "plikd-unwrapped"; - inherit - version - src - vendorHash - postPatch - passthru - ; - - subPackages = [ "server" ]; - postFixup = '' - mv $out/bin/server $out/bin/plikd - ''; - }; } From 36997acda95ad4242d3ca046403d1d0c588baac8 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Mon, 2 Feb 2026 11:17:03 +0100 Subject: [PATCH 2/3] plikd: webapp 1.3.7 -> 1.3.8, inline webapp installation, refactor the binary was updated by R. RyanTM, in cbb4d125300e4f96ee2477cb827f62da05c0ecdc but the webapp didn't automatically update due to the previously cursed structure of the package --- pkgs/servers/plik/default.nix | 39 --------------------------- pkgs/servers/plik/plikd.nix | 47 ++++++++++++++++++++++++--------- pkgs/top-level/all-packages.nix | 6 ++--- 3 files changed, 36 insertions(+), 56 deletions(-) delete mode 100644 pkgs/servers/plik/default.nix diff --git a/pkgs/servers/plik/default.nix b/pkgs/servers/plik/default.nix deleted file mode 100644 index e09341865d06..000000000000 --- a/pkgs/servers/plik/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - fetchurl, - makeWrapper, - runCommand, - callPackage, -}: - -let - version = "1.3.7"; - - plikd-unwrapped = callPackage ./plikd.nix { }; - plik = callPackage ./plik.nix { plikd = plikd-unwrapped; }; - - webapp = fetchurl { - url = "https://github.com/root-gg/plik/releases/download/${version}/plik-${version}-linux-amd64.tar.gz"; - hash = "sha256-Uj3I/ohgMr/Ud5xAZiBjsIW8bSdUeXXv9NYKLu8Aym8="; - }; - -in -{ - - inherit plik plikd-unwrapped; - - plikd = - runCommand "plikd-${version}" - { - nativeBuildInputs = [ makeWrapper ]; - inherit (plikd-unwrapped) passthru; - } - '' - mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin - tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/ - mv plik-*/webapp/dist $out/libexec/plikd/webapp - cp ${plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd - makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \ - --chdir "$out/libexec/plikd/bin" - ''; -} diff --git a/pkgs/servers/plik/plikd.nix b/pkgs/servers/plik/plikd.nix index a0e718aa7638..0e34e021a73d 100644 --- a/pkgs/servers/plik/plikd.nix +++ b/pkgs/servers/plik/plikd.nix @@ -2,41 +2,62 @@ lib, buildGoModule, fetchFromGitHub, + fetchurl, nixosTests, + makeWrapper, }: -buildGoModule rec { - pname = "plikd-unwrapped"; +buildGoModule (finalAttrs: { + pname = "plikd"; version = "1.3.8"; src = fetchFromGitHub { owner = "root-gg"; repo = "plik"; - rev = version; + rev = finalAttrs.version; hash = "sha256-WCtfkzlZnyzZDwNDBrW06bUbLYTL2C704Y7aXbiVi5c="; }; + # TODO build webapp from source (how to hanndle npm and bower deps?) + src-webapp = fetchurl { + url = "https://github.com/root-gg/plik/releases/download/${finalAttrs.version}/plik-${finalAttrs.version}-linux-amd64.tar.gz"; + hash = "sha256-taUFXZJeUHYjjhrVlLgKYPxNn6W5o8uoEVcu+f5flCA="; + }; + subPackages = [ "server" ]; vendorHash = null; - meta = { - homepage = "https://plik.root.gg/"; - description = "Scalable & friendly temporary file upload system"; - maintainers = [ ]; - license = lib.licenses.mit; - }; + nativeBuildInputs = [ + makeWrapper + ]; postPatch = '' substituteInPlace server/common/version.go \ - --replace '"0.0.0"' '"${version}"' + --replace '"0.0.0"' '"${finalAttrs.version}"' ''; - postFixup = '' - mv $out/bin/server $out/bin/plikd + postInstall = '' + # install the webapp + mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin + tar xf ${finalAttrs.src-webapp} plik-${finalAttrs.version}-linux-amd64/webapp/dist/ + mv plik-*/webapp/dist $out/libexec/plikd/webapp + + # move and wrap the server binary + mv $out/bin/server $out/libexec/plikd/bin/plikd + makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \ + --chdir "$out/libexec/plikd/bin" ''; passthru.tests = { inherit (nixosTests) plikd; }; -} + + meta = { + description = "Scalable & friendly temporary file upload system"; + homepage = "https://plik.root.gg/"; + license = lib.licenses.mit; + mainProgram = "plikd"; + maintainers = [ ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0acf541c941a..52de12d9268f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3390,10 +3390,8 @@ with pkgs; playwright-driver = (callPackage ../development/web/playwright/driver.nix { }).playwright-core; playwright-test = (callPackage ../development/web/playwright/driver.nix { }).playwright-test; - inherit (callPackage ../servers/plik { }) - plik - plikd - ; + plik = callPackage ../servers/plik/plik.nix { }; + plikd = callPackage ../servers/plik/plikd.nix { }; plex = callPackage ../servers/plex { }; From 126c3f763c1f9d281e936dc4076286175b5e67ea Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Mon, 2 Feb 2026 11:27:10 +0100 Subject: [PATCH 3/3] plik{,d}: move to pkgs/by-name this shouldn't create any rebuilds --- pkgs/{servers/plik/plik.nix => by-name/pl/plik/package.nix} | 0 pkgs/{servers/plik/plikd.nix => by-name/pl/plikd/package.nix} | 0 pkgs/top-level/all-packages.nix | 3 --- 3 files changed, 3 deletions(-) rename pkgs/{servers/plik/plik.nix => by-name/pl/plik/package.nix} (100%) rename pkgs/{servers/plik/plikd.nix => by-name/pl/plikd/package.nix} (100%) diff --git a/pkgs/servers/plik/plik.nix b/pkgs/by-name/pl/plik/package.nix similarity index 100% rename from pkgs/servers/plik/plik.nix rename to pkgs/by-name/pl/plik/package.nix diff --git a/pkgs/servers/plik/plikd.nix b/pkgs/by-name/pl/plikd/package.nix similarity index 100% rename from pkgs/servers/plik/plikd.nix rename to pkgs/by-name/pl/plikd/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 52de12d9268f..ff025551cb91 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3390,9 +3390,6 @@ with pkgs; playwright-driver = (callPackage ../development/web/playwright/driver.nix { }).playwright-core; playwright-test = (callPackage ../development/web/playwright/driver.nix { }).playwright-test; - plik = callPackage ../servers/plik/plik.nix { }; - plikd = callPackage ../servers/plik/plikd.nix { }; - plex = callPackage ../servers/plex { }; plexRaw = callPackage ../servers/plex/raw.nix { };