{ inputs = { nixpkgs.url = "nixpkgs/nixos-23.05"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachSystem [ "x86_64-linux" "i686-linux" "aarch64-linux" ] (system: let pkgs = nixpkgs.legacyPackages.${system}; kernel = pkgs.linux_latest; packagePaths = { ethercat = "./ethercat.nix"; testmanager = "./testmanager.nix"; dls = "./dls.nix"; etherlab = "./etherlab.nix"; qtpdwidgets = "./qtpdwidgets.nix"; pdcom = "./pdcom.nix"; pdserv = "./pdserv.nix"; }; in { packages.default = pkgs.callPackage ./ethercat.nix { inherit kernel; }; packages.ethercat = pkgs.callPackage ./ethercat.nix { inherit kernel; }; packages.testmanager = pkgs.libsForQt5.callPackage ./testmanager.nix {}; packages.dls = pkgs.libsForQt5.callPackage ./dls.nix {}; packages.etherlab = pkgs.libsForQt5.callPackage ./etherlab.nix {}; packages.qtpdwidgets = pkgs.libsForQt5.callPackage ./qtpdwidgets.nix {}; packages.pdcom = pkgs.callPackage ./pdcom.nix {}; packages.pdserv = pkgs.callPackage ./pdserv.nix {}; overlay = final: prev: (nixpkgs.lib.mapAttrs (n: v: prev.callPackage v { }) packagePaths); } ); }