{ description = "The SchildiChat Matrix client"; inputs.nixpkgs.url = "github:NixOS/nixpkgs"; outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system); in { packages = forAllSystems(system: { pkgs = nixpkgs.legacyPackages.${system}; cleanSource = src: with pkgs.lib; cleanSourceWith { filter = name: type: cleanSourceFilter name type && !(hasInfix "/node_modules/" name) && !(hasInfix "/nix/" name && hasSuffix ".nix" name); inherit src; }; schildichat-web = import ./nix/schildichat-web.nix { inherit (pkgs.darwin.apple_sdk.frameworks) Security AppKit CoreServices; inherit pkgs cleanSource; }; schildichat-desktop = import ./nix/schildichat-desktop.nix { inherit (pkgs.darwin.apple_sdk.frameworks) Security AppKit CoreServices; inherit pkgs cleanSource; }; schildichat-desktop-wayland = self.packages.${system}.schildichat-desktop { useWayland = true; }; default = self.packages.${system}.schildichat-desktop }); }; }