diff options
Diffstat (limited to 'app/drone-ci/build')
-rw-r--r-- | app/drone-ci/build/build-qcow2.nix | 2 | ||||
-rw-r--r-- | app/drone-ci/build/machine-config.nix | 21 |
2 files changed, 20 insertions, 3 deletions
diff --git a/app/drone-ci/build/build-qcow2.nix b/app/drone-ci/build/build-qcow2.nix index 266ba2c..3ad45f4 100644 --- a/app/drone-ci/build/build-qcow2.nix +++ b/app/drone-ci/build/build-qcow2.nix @@ -12,7 +12,7 @@ with lib; system.build.qcow2 = import <nixpkgs/nixos/lib/make-disk-image.nix> { inherit lib config; pkgs = import <nixpkgs> { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package - diskSize = 8192; + diskSize = 32768; format = "qcow2"; configFile = pkgs.writeText "configuration.nix" '' diff --git a/app/drone-ci/build/machine-config.nix b/app/drone-ci/build/machine-config.nix index 3b55078..e1d24a1 100644 --- a/app/drone-ci/build/machine-config.nix +++ b/app/drone-ci/build/machine-config.nix @@ -14,11 +14,22 @@ with lib; autoResize = true; }; + fileSystems."/secrets" = { + device = "/dev/disk/by-label/QEMU\\x20VVFAT"; + fsType = "vfat"; + }; + boot.growPartition = true; boot.kernelParams = [ "console=ttyS0" ]; boot.loader.grub.device = "/dev/vda"; boot.loader.timeout = 0; + environment.systemPackages = with pkgs; [ + iotop + jnettop + htop + ]; + users.extraUsers.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJpaBZdYxHqMxhv2RExAOa7nkKhPBOHupMP3mYaZ73w9 lx@lindy" ]; @@ -31,11 +42,17 @@ with lib; virtualisation.docker.enable = true; virtualisation.oci-containers.backend = "docker"; + systemd.user.services.drone_nix_setup = { + script = '' + docker run --rm -it -v /var/lib/drone/nix:/mnt nixpkgs/nix:nixos-21.05 cp -r /nix/{store,var} /mnt/ + ''; + wantedBy = [ "multi-user.target" ]; + }; virtualisation.oci-containers.containers = { drone_runner = { image = "drone/drone-runner-docker:1.4.0"; volumes = [ - "/nix:/nix" + "/var/lib/drone/nix:/nix" "/var/run/docker.sock:/var/run/docker.sock" ]; environment = { @@ -49,7 +66,7 @@ with lib; DRONE_RUNNER_LABELS = "nix:1"; }; environmentFiles = [ - "/dev/qemu/dronesecret0" + "/secrets/secret_env" ]; }; drone_gc = { |