about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-19 00:04:43 +0100
committerene <ene@sils.li>2023-02-19 00:09:01 +0100
commit85823635ad0ebd4fb0bf151bd5cbc87076945e8e (patch)
treead0e9bb89540e0ba0145efd26d0bc67c2dd5da6f
parentFix(home-manager): Use the system impermance config (diff)
downloadnixos-config-85823635ad0ebd4fb0bf151bd5cbc87076945e8e.tar.gz
nixos-config-85823635ad0ebd4fb0bf151bd5cbc87076945e8e.zip
Feat: Add 'spawn' host, to simply create a bootable base
-rw-r--r--flake.nix10
-rw-r--r--hosts/spawn/configuration.nix13
-rw-r--r--hosts/spawn/hardware/default.nix28
-rw-r--r--hosts/spawn/networking.nix14
4 files changed, 60 insertions, 5 deletions
diff --git a/flake.nix b/flake.nix
index bd8a8d48..c8bca3af 100644
--- a/flake.nix
+++ b/flake.nix
@@ -75,10 +75,10 @@
         }
       ];
     };
-    #    nixosConfigurations.Apzu = nixpkgs.lib.nixosSystem {
-    #      system = "x86_64-linux";
-    #      specialArgs = inputs;
-    #      modules = [./hosts/laptop/configuration.nix];
-    #    };
+    nixosConfigurations.Spawn = nixpkgs.lib.nixosSystem {
+      system = "x86_64-linux";
+      specialArgs = inputs;
+      modules = [./hosts/spawn/configuration.nix];
+    };
   };
 }
diff --git a/hosts/spawn/configuration.nix b/hosts/spawn/configuration.nix
new file mode 100644
index 00000000..b30609d8
--- /dev/null
+++ b/hosts/spawn/configuration.nix
@@ -0,0 +1,13 @@
+# vim: ts=2
+{...}: {
+  imports = [
+    ./hardware
+    ./networking.nix
+
+    ../../system
+
+#../../services
+  ];
+
+  system.stateVersion = "23.05";
+}
diff --git a/hosts/spawn/hardware/default.nix b/hosts/spawn/hardware/default.nix
new file mode 100644
index 00000000..f6500ed5
--- /dev/null
+++ b/hosts/spawn/hardware/default.nix
@@ -0,0 +1,28 @@
+{
+  config,
+  lib,
+  pkgs,
+  modulesPath,
+  ...
+}: {
+  imports = [
+    (modulesPath + "/installer/scan/not-detected.nix")
+    (modulesPath + "/installer/scan/detected.nix")
+    # (modulesPath + "/installer/cd-dvd/installation-cd-base.nix")
+
+    (modulesPath + "/profiles/base.nix")
+    (modulesPath + "/profiles/minimal.nix")
+    (modulesPath + "/profiles/all-hardware.nix")
+  ];
+
+  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
+  system.fileSystemLayouts = {
+    enable = true;
+    mainDisk = "/dev/disk/by-uuid/<uuid>";
+    efiDisk = "/dev/disk/by-uuid/<uuid>";
+  };
+
+  boot = {
+  };
+}
diff --git a/hosts/spawn/networking.nix b/hosts/spawn/networking.nix
new file mode 100644
index 00000000..7262c88e
--- /dev/null
+++ b/hosts/spawn/networking.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: {
+  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+  # (the default) this is the recommended approach. When using systemd-networkd it's
+  # still possible to use this option, but it's recommended to use it in conjunction
+  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+  networking.useDHCP = lib.mkDefault true;
+  # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
+  # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
+  networking.hostName = "Spawn";
+}