summaryrefslogtreecommitdiffstats
path: root/nixos/modules
diff options
context:
space:
mode:
authorDomen Kožar <domen@enlambda.com>2017-02-27 10:03:13 +0100
committerGitHub <noreply@github.com>2017-02-27 10:03:13 +0100
commitc013f9240e0d00def8d9390688f1bb14ae1ec5fd (patch)
treebb5cdfd00169c8470cf9ee4bdcc2ae2a1e692461 /nixos/modules
parent90690e71b0021549dd503bc1f48e02f69ef64cdf (diff)
parent386c19a224b12c3ed0c6150c5a1d39dd69cdc532 (diff)
Merge pull request #23168 from nlewo/nova-image-refactoring
Nova image refactoring and partition resizing
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/virtualisation/nova-config.nix57
-rw-r--r--nixos/modules/virtualisation/nova-image.nix65
2 files changed, 57 insertions, 65 deletions
diff --git a/nixos/modules/virtualisation/nova-config.nix b/nixos/modules/virtualisation/nova-config.nix
new file mode 100644
index 000000000000..aac11ec8a178
--- /dev/null
+++ b/nixos/modules/virtualisation/nova-config.nix
@@ -0,0 +1,57 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+ imports = [
+ ../profiles/qemu-guest.nix
+ ../profiles/headless.nix
+ ./grow-partition.nix
+ ];
+
+ config = {
+ fileSystems."/" = {
+ device = "/dev/disk/by-label/nixos";
+ autoResize = true;
+ };
+
+ virtualisation.growPartition = true;
+
+ boot.kernelParams = [ "console=ttyS0" ];
+ boot.loader.grub.device = "/dev/vda";
+ boot.loader.timeout = 0;
+
+ # Allow root logins
+ services.openssh.enable = true;
+ services.openssh.permitRootLogin = "prohibit-password";
+
+ # Put /tmp and /var on /ephemeral0, which has a lot more space.
+ # Unfortunately we can't do this with the `fileSystems' option
+ # because it has no support for creating the source of a bind
+ # mount. Also, "move" /nix to /ephemeral0 by layering a unionfs-fuse
+ # mount on top of it so we have a lot more space for Nix operations.
+
+ /*
+ boot.initrd.postMountCommands =
+ ''
+ mkdir -m 1777 -p $targetRoot/ephemeral0/tmp
+ mkdir -m 1777 -p $targetRoot/tmp
+ mount --bind $targetRoot/ephemeral0/tmp $targetRoot/tmp
+
+ mkdir -m 755 -p $targetRoot/ephemeral0/var
+ mkdir -m 755 -p $targetRoot/var
+ mount --bind $targetRoot/ephemeral0/var $targetRoot/var
+
+ mkdir -p /unionfs-chroot/ro-nix
+ mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix
+
+ mkdir -p /unionfs-chroot/rw-nix
+ mkdir -m 755 -p $targetRoot/ephemeral0/nix
+ mount --rbind $targetRoot/ephemeral0/nix /unionfs-chroot/rw-nix
+ unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix
+ '';
+
+ boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
+ */
+ };
+}
diff --git a/nixos/modules/virtualisation/nova-image.nix b/nixos/modules/virtualisation/nova-image.nix
deleted file mode 100644
index e253c77ebb4f..000000000000
--- a/nixos/modules/virtualisation/nova-image.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-# Usage:
-# $ NIXOS_CONFIG=`pwd`/nixos/modules/virtualisation/nova-image.nix nix-build '<nixpkgs/nixos>' -A config.system.build.novaImage
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
- system.build.novaImage = import ../../lib/make-disk-image.nix {
- inherit pkgs lib config;
- partitioned = true;
- diskSize = 1 * 1024;
- configFile = pkgs.writeText "configuration.nix"
- ''
- {
- imports = [ <nixpkgs/nixos/modules/virtualisation/nova-image.nix> ];
- }
- '';
- };
-
- imports = [
- ../profiles/qemu-guest.nix
- ../profiles/headless.nix
- ];
-
- fileSystems."/".device = "/dev/disk/by-label/nixos";
-
- boot.kernelParams = [ "console=ttyS0" ];
- boot.loader.grub.device = "/dev/vda";
- boot.loader.timeout = 0;
-
- # Allow root logins
- services.openssh.enable = true;
- services.openssh.permitRootLogin = "prohibit-password";
-
- # Put /tmp and /var on /ephemeral0, which has a lot more space.
- # Unfortunately we can't do this with the `fileSystems' option
- # because it has no support for creating the source of a bind
- # mount. Also, "move" /nix to /ephemeral0 by layering a unionfs-fuse
- # mount on top of it so we have a lot more space for Nix operations.
-
- /*
- boot.initrd.postMountCommands =
- ''
- mkdir -m 1777 -p $targetRoot/ephemeral0/tmp
- mkdir -m 1777 -p $targetRoot/tmp
- mount --bind $targetRoot/ephemeral0/tmp $targetRoot/tmp
-
- mkdir -m 755 -p $targetRoot/ephemeral0/var
- mkdir -m 755 -p $targetRoot/var
- mount --bind $targetRoot/ephemeral0/var $targetRoot/var
-
- mkdir -p /unionfs-chroot/ro-nix
- mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix
-
- mkdir -p /unionfs-chroot/rw-nix
- mkdir -m 755 -p $targetRoot/ephemeral0/nix
- mount --rbind $targetRoot/ephemeral0/nix /unionfs-chroot/rw-nix
- unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix
- '';
-
- boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
- */
-
-}