mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -06:00
* nix: allow passing extra packages in PATH * nix: allow passing extra python packages I wanted to use https://github.com/9001/copyparty/blob/hovudstraum/bin/hooks/notify.py but that wasn't really possible without this under the nix package. * nix: format all nix files with nixfmt * nix: reduce redundancy in the package For readability * nix: remove unused pyftpdlib import * nix: put makeWrapper into the correct inputs * nix: fill out all of meta * nix: set formatter in flake for nix files This allows contributors to format their nix changes with the `nix fmt` command. * nix: add u2c * nix: add partyfuse One downside of the way the nix ecosystem works is that MacFUSE needs to be installed manually. Luckily the script tells you that already! * nix: add missing cfssl import * nix: add flake check that makes sure it builds with all flags Because sometimes an import might be missing, and if it is an optional then you'll only figure out that it's broken if you set the flag. * nix: use correct overlay argument names Or `nix flake check` will refuse to run the copyparty-full check
67 lines
1.6 KiB
Nix
67 lines
1.6 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-25.05";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
}:
|
|
{
|
|
nixosModules.default = ./contrib/nixos/modules/copyparty.nix;
|
|
overlays.default = final: prev: rec {
|
|
copyparty = final.python3.pkgs.callPackage ./contrib/package/nix/copyparty {
|
|
ffmpeg = final.ffmpeg-full;
|
|
};
|
|
|
|
partyfuse = prev.callPackage ./contrib/package/nix/partyfuse {
|
|
inherit copyparty;
|
|
};
|
|
|
|
u2c = prev.callPackage ./contrib/package/nix/u2c {
|
|
inherit copyparty;
|
|
};
|
|
};
|
|
}
|
|
// flake-utils.lib.eachDefaultSystem (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {
|
|
allowAliases = false;
|
|
};
|
|
overlays = [ self.overlays.default ];
|
|
};
|
|
in
|
|
{
|
|
# check that copyparty builds with all optionals turned on
|
|
checks.copyparty-full = self.packages.${system}.copyparty.override {
|
|
withHashedPasswords = true;
|
|
withCertgen = true;
|
|
withThumbnails = true;
|
|
withFastThumbnails = true;
|
|
withMediaProcessing = true;
|
|
withBasicAudioMetadata = true;
|
|
withZeroMQ = true;
|
|
withFTPS = true;
|
|
withSMB = true;
|
|
};
|
|
|
|
packages = {
|
|
inherit (pkgs)
|
|
copyparty
|
|
partyfuse
|
|
u2c
|
|
;
|
|
default = self.packages.${system}.copyparty;
|
|
};
|
|
|
|
formatter = pkgs.nixfmt-tree;
|
|
}
|
|
);
|
|
}
|