66 lines
2.0 KiB
Nix
66 lines
2.0 KiB
Nix
{ configuration ? import <upstream-nixpkgs/nixos/lib/from-env.nix> "NIXOS_CONFIG" <nixos-config>
|
|
, system ? builtins.currentSystem
|
|
}:
|
|
|
|
let
|
|
eval-config = modules: import <upstream-nixpkgs/nixos/lib/eval-config.nix> {
|
|
inherit system;
|
|
modules = modules ++ [({ config, lib, ... }: with lib; {
|
|
imports = filter dir.has-default-nix (concatLists [
|
|
(map (p: p + "/2configs") [ <stockholm-private> ])
|
|
(map (p: p + "/3modules") [ <stockholm-krebs> <stockholm-private> ])
|
|
]);
|
|
|
|
krebs.current = {
|
|
enable = true;
|
|
host = config.krebs.hosts.${readFile /proc/sys/kernel/hostname};
|
|
user = config.krebs.users.${getEnv "LOGNAME"};
|
|
};
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: let
|
|
kpkgs = import <stockholm-krebs/5pkgs> { inherit lib pkgs; };
|
|
upkgs = import <stockholm-private/5pkgs> { inherit lib; pkgs = pkgs // kpkgs; };
|
|
in kpkgs // upkgs;
|
|
})];
|
|
specialArgs = {
|
|
lib = let
|
|
nlib = import <upstream-nixpkgs/lib> // builtins;
|
|
klib = nlib // import <stockholm-krebs/4lib> { lib = nlib; };
|
|
ulib = klib // (with klib; let p = <stockholm-private> + "/4lib"; in
|
|
optionalAttrs (dir.has-default-nix p)
|
|
(import p { lib = klib; }));
|
|
in ulib;
|
|
};
|
|
};
|
|
|
|
eval = eval-config [
|
|
configuration
|
|
];
|
|
|
|
# This is for `nixos-rebuild build-vm'.
|
|
vm = eval-config [
|
|
configuration
|
|
<upstream-nixpkgs/nixos/modules/virtualisation/qemu-vm.nix>
|
|
];
|
|
|
|
# This is for `nixos-rebuild build-vm-with-bootloader'.
|
|
vm-with-bootloader = eval-config [
|
|
configuration
|
|
<upstream-nixpkgs/nixos/modules/virtualisation/qemu-vm.nix>
|
|
{ virtualisation.useBootLoader = true; }
|
|
];
|
|
in
|
|
|
|
{
|
|
inherit (eval) config options;
|
|
|
|
system = eval.config.system.build.toplevel;
|
|
|
|
vm = vm.config.system.build.vm;
|
|
|
|
vmWithBootLoader = vm-with-bootloader.config.system.build.vm;
|
|
|
|
# The following are used by nixos-rebuild.
|
|
nixFallback = eval.pkgs.nixUnstable;
|
|
}
|