27 lines
843 B
Nix
27 lines
843 B
Nix
let
|
|
nixpkgsPath = "/home/aither/workspace/vpsadmin/nixpkgs";
|
|
vpsadminosPath = "/home/aither/workspace/vpsadmin/vpsadminos";
|
|
|
|
in
|
|
{
|
|
vpsadminos = {configuration, modules ? []}:
|
|
let
|
|
# this is fed into scopedImport so vpsadminos sees correct <nixpkgs> everywhere
|
|
overrides = {
|
|
__nixPath = [
|
|
{ prefix = "nixpkgs"; path = nixpkgsPath; }
|
|
{ prefix = "vpsadminos"; path = vpsadminosPath; }
|
|
] ++ builtins.nixPath;
|
|
import = fn: scopedImport overrides fn;
|
|
scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;
|
|
builtins = builtins // overrides;
|
|
};
|
|
in
|
|
builtins.scopedImport overrides (vpsadminosPath + "/os/") {
|
|
nixpkgs = nixpkgsPath;
|
|
system = "x86_64-linux";
|
|
extraModules = modules;
|
|
inherit configuration;
|
|
};
|
|
}
|