summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/firecracker
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/1systems/firecracker')
-rw-r--r--makefu/1systems/firecracker/config.nix25
-rw-r--r--makefu/1systems/firecracker/hardware-config.nix30
-rw-r--r--makefu/1systems/firecracker/source.nix4
3 files changed, 59 insertions, 0 deletions
diff --git a/makefu/1systems/firecracker/config.nix b/makefu/1systems/firecracker/config.nix
new file mode 100644
index 00000000..87f50028
--- /dev/null
+++ b/makefu/1systems/firecracker/config.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+let
+ primaryInterface = "eth0";
+in {
+ imports = [
+ <stockholm/makefu>
+ ./hardware-config.nix
+ # <stockholm/makefu/2configs/tools/core.nix>
+ { environment.systemPackages = with pkgs;[ rsync screen curl git ];}
+ <stockholm/makefu/2configs/binary-cache/nixos.nix>
+ #<stockholm/makefu/2configs/support-nixos.nix>
+# configure your hw:
+# <stockholm/makefu/2configs/save-diskspace.nix>
+ ];
+ krebs = {
+ enable = true;
+ tinc.retiolum.enable = true;
+ build.host = config.krebs.hosts.firecracker;
+ };
+ networking.firewall.trustedInterfaces = [ primaryInterface ];
+ documentation.info.enable = false;
+ documentation.man.enable = false;
+ services.nixosManual.enable = false;
+ sound.enable = false;
+}
diff --git a/makefu/1systems/firecracker/hardware-config.nix b/makefu/1systems/firecracker/hardware-config.nix
new file mode 100644
index 00000000..b821a337
--- /dev/null
+++ b/makefu/1systems/firecracker/hardware-config.nix
@@ -0,0 +1,30 @@
+{ pkgs, lib, ... }:
+{
+ boot.kernelParams = lib.mkForce ["console=ttyS2,1500000n8" "earlycon=uart8250,mmio32,0xff1a0000" "earlyprintk"];
+ boot.loader.grub.enable = false;
+ boot.loader.generic-extlinux-compatible.enable = true;
+ boot.loader.generic-extlinux-compatible.configurationLimit = 1;
+ boot.loader.generationsDir.enable = lib.mkDefault false;
+ boot.supportedFilesystems = lib.mkForce [ "vfat" ];
+
+ boot.tmpOnTmpfs = lib.mkForce false;
+ boot.cleanTmpDir = true;
+ hardware.enableRedistributableFirmware = true;
+
+ ## wifi not working, will be fixed with https://github.com/NixOS/nixpkgs/pull/53747
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+ networking.wireless.enable = true;
+ # File systems configuration for using the installer's partition layout
+ swapDevices = [ { device = "/var/swap"; size = 4096; } ];
+ fileSystems = {
+ "/boot" = {
+ device = "/dev/disk/by-label/NIXOS_BOOT";
+ fsType = "vfat";
+ };
+ "/" = {
+ device = "/dev/disk/by-label/NIXOS_SD";
+ fsType = "ext4";
+ };
+ };
+
+}
diff --git a/makefu/1systems/firecracker/source.nix b/makefu/1systems/firecracker/source.nix
new file mode 100644
index 00000000..22c40039
--- /dev/null
+++ b/makefu/1systems/firecracker/source.nix
@@ -0,0 +1,4 @@
+{
+ name="cake";
+ full = true;
+}