let pkgs = import {}; in { vpsadminos_spec = builtins.fromJSON (builtins.readFile ./pinned/vpsadminos.json); vpsadminosGit = builtins.trace vpsadminos_spec pkgs.fetchgit { inherit (vpsadminos_spec) url rev sha256; leaveDotGit = true; }; nixpkgsVpsFree_spec = builtins.fromJSON (builtins.readFile ./pinned/nixpkgs-vpsfreecz.json); nixpkgsVpsFreeGit = pkgs.fetchgit { inherit (nixpkgsVpsFree_spec) url rev sha256; leaveDotGit = true; }; nixpkgsVpsFree = import nixpkgsVpsFreeGit {}; vpsadminos = {configuration, modules ? []}: let # this is fed into scopedImport so vpsadminos sees correct everywhere overrides = { __nixPath = [ { prefix = "nixpkgs"; path = nixpkgsVpsFree.path; } { prefix = "vpsadminos"; path = vpsadminosGit; } ] ++ builtins.nixPath; import = fn: scopedImport overrides fn; scopedImport = attrs: fn: scopedImport (overrides // attrs) fn; builtins = builtins // overrides; }; in builtins.scopedImport overrides (vpsadminosGit + "/os/") { nixpkgs = nixpkgsVpsFree.path; system = "x86_64-linux"; extraModules = modules; inherit configuration; }; }