summaryrefslogtreecommitdiffstats
path: root/nixpkgs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2016-02-01 03:00:48 +0100
committertv <tv@krebsco.de>2016-02-01 03:32:30 +0100
commitc3c4aac670cf0ac26340061cef1527b3d7f64386 (patch)
tree6d504709b7f1fa2274d2867b4cdbad4966f0c622 /nixpkgs
parent1a4437cb26a29400d33486d6c8a220a9e88f4132 (diff)
make deploy2: deploy using nixos-rebuild switch
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/default.nix1
-rw-r--r--nixpkgs/nixos/default.nix65
l---------nixpkgs/nixos/modules1
3 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/default.nix b/nixpkgs/default.nix
new file mode 100644
index 000000000..92da82c35
--- /dev/null
+++ b/nixpkgs/default.nix
@@ -0,0 +1 @@
+import <upstream-nixpkgs>
diff --git a/nixpkgs/nixos/default.nix b/nixpkgs/nixos/default.nix
new file mode 100644
index 000000000..6c5adf365
--- /dev/null
+++ b/nixpkgs/nixos/default.nix
@@ -0,0 +1,65 @@
+{ 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;
+}
diff --git a/nixpkgs/nixos/modules b/nixpkgs/nixos/modules
new file mode 120000
index 000000000..8fbc4373e
--- /dev/null
+++ b/nixpkgs/nixos/modules
@@ -0,0 +1 @@
+../../upstream-nixpkgs/nixos/modules \ No newline at end of file