final: prev: let nimOverlay = final': prev': { nix_actor = final'.callPackage ./packages/nix_actor { }; noiseprotocol = final'.callPackage ./packages/nim/noiseprotocol { }; syndicate_utils = final'.callPackage ./packages/syndicate_utils-nim { }; syndicated-open = final'.callPackage ./packages/syndicated-open { }; xdg_open_ng = builtins.trace "xdg_open_ng has been renamed to syndicated-open" final'.syndicated-open; }; rustPkgs = let overlay = import (prev.fetchFromGitHub { owner = "oxalica"; repo = "rust-overlay"; rev = "a2ccfb2134622b28668a274e403ba6f075ae1223"; hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc="; }); in final.extend overlay; rust' = rustPkgs.rust-bin.nightly.latest.default; in { lib = prev.lib.extend (import ./lib.nix); acpi_actor = final.nim2Packages.callPackage ./packages/acpi_actor { }; fontconfig_actor = final.nim2Packages.callPackage ./packages/fontconfig_actor { }; libnotify_actor = final.nim2Packages.callPackage ./packages/libnotify_actor { }; nimFlagsFromLockFile = let fetchDependency = let methods = { fetchzip = { url, sha256, ... }: final.fetchzip { name = "source"; inherit url sha256; }; git = { fetchSubmodules, leaveDotGit, rev, sha256, url, ... }: final.fetchgit { inherit fetchSubmodules leaveDotGit rev sha256 url; }; }; in attrs@{ method, ... }: methods.${method} attrs // attrs; in lockFile: with builtins; final.lib.pipe lockFile [ readFile fromJSON (getAttr "depends") (map fetchDependency) (map ({ outPath, srcDir, ... }: ''--path:"${outPath}/${srcDir}"'')) ]; nimPackages = prev.nimPackages.overrideScope' nimOverlay; nim2Packages = prev.nim2Packages.overrideScope' nimOverlay; inherit (final.nim2Packages) nix_actor; noise-c = final.callPackage ./packages/noise-c { }; preserves-tools = final.callPackage ./packages/preserves-tools { }; python3Packages = prev.python3Packages.overrideScope (final': prev': { preserves = final'.callPackage ./packages/preserves-py { }; syndicate-py = final'.callPackage ./packages/syndicate-py { }; synit-daemons = final'.callPackage ./packages/synit-daemons-py { }; }); sqlite_actor = final.nim2Packages.callPackage ./packages/sqlite_actor { }; squeak = final.callPackage ./packages/squeak { }; squeaker = final.python3Packages.callPackage ./packages/squeaker { }; syndicate-server = final.callPackage ./packages/syndicate-server { rust = rust'; }; synit-pid1 = final.callPackage ./packages/synit-pid1 { }; xapian_actor = final.nim2Packages.callPackage ./packages/xapian_actor { }; }