{ 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 = import ./contrib/package/nix/overlay.nix; } // flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; appliedOverlay = self.overlays.default pkgs pkgs; 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 (appliedOverlay) copyparty partyfuse u2c ; default = self.packages.${system}.copyparty; }; formatter = pkgs.nixfmt-tree; } ); }