Install and use seafile-client

Hi ! NixOS newbie here :smile:

Anyone know how to install and use seafile-client ?

nix-shell -p seafile-client

error:
       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'shell'
         whose name attribute is located at /nix/store/si3k775n94ax09w3cjgc5hr2vjs84v7m-source/pkgs/stdenv/generic/make-derivation.nix:468:13

       … while evaluating attribute 'buildInputs' of derivation 'shell'
         at /nix/store/si3k775n94ax09w3cjgc5hr2vjs84v7m-source/pkgs/stdenv/generic/make-derivation.nix:523:13:
          522|             depsHostHost = elemAt (elemAt dependencies 1) 0;
          523|             buildInputs = elemAt (elemAt dependencies 1) 1;
             |             ^
          524|             depsTargetTarget = elemAt (elemAt dependencies 2) 0;

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: future-1.0.0 not supported for interpreter python3.13

Thanks :pray:

Do you think there is a link with python313: cython and pyliblo with liblo throws cython-0.29.37.1 not supported for interpreter python3.13 error · Issue #389149 · NixOS/nixpkgs · GitHub ?

Not building at the moment on unstable, switch to stable branch 25.05 for installing seafile. i think @heuzef is right with the linked issue.

There is a way to deploy only one package on stable branch ? Maybe with nix-shell ?

you can use an overlay and make it work again on unstable

 nixpkgs.overlays = [
        (final: prev: {
          # Force override of the future derivation from any interpreter
          future = prev.pythonPackages.future.overrideAttrs (old: {
            meta = old.meta // {
              broken = false;
              unsupportedInterpreters = [ ];
            };
          });

          # Optional safety net: override python313Packages.future too
          python313Packages = prev.python313Packages.overrideScope (pyFinal: pyPrev: {
            future = pyPrev.future.overrideAttrs (old: {
              meta = old.meta // {
                broken = false;
                unsupportedInterpreters = [ ];
              };
            });
          });
        })
      ];

the other option would be to use the docker version of seafile

Thanks guy.
There is an another way waiting for the fix :

  1. Deploy the package appimage-run
  2. Download the official AppImage
  3. Give it executable permission : chmod +x Seafile-*.AppImage
  4. Run with appimage-run Seafile-*.AppImage

Integration into the application menu (optional) :

~/.local/share/applications/seafile.desktop

[Desktop Entry]
Name=Seafile
Exec=appimage-run /path/to/your/Seafile-*.AppImage
Icon=/path/to/your/seafile.png
Type=Application
Categories=Utility;

Work well, effective way :+1: