about summary refs log tree commit diff
path: root/configurations/default.nix
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2022-08-12 22:53:53 +0300
committerAzat Bahawi <azat@bahawi.net>2022-08-12 22:53:53 +0300
commit61b94f0dd06cac0f7dcd38cce80f2a7ab8376098 (patch)
treeb703a9fe11eae6c4cae4e4682f02caf0caa171d0 /configurations/default.nix
2022-08-12
Diffstat (limited to '')
-rw-r--r--configurations/default.nix139
1 files changed, 139 insertions, 0 deletions
diff --git a/configurations/default.nix b/configurations/default.nix
new file mode 100644
index 0000000..e0741dc
--- /dev/null
+++ b/configurations/default.nix
@@ -0,0 +1,139 @@
+{
+  inputs,
+  lib,
+}:
+with lib; {
+  # TODO Make a generic wrapper for all hosts.
+  melian = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./melian]
+        ++ (with inputs;
+          (with nixos-hardware.nixosModules; [
+            common-pc-laptop-ssd
+            lenovo-thinkpad-t480
+          ])
+          ++ [nixpkgs.nixosModules.notDetected]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = my.configurations.melian;
+      };
+    };
+
+  manwe = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./manwe]
+        ++ (with inputs;
+          (with nixos-hardware.nixosModules; [common-cpu-amd common-pc-ssd])
+          ++ [
+            nixpkgs.nixosModules.notDetected
+            "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix"
+          ]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = my.configurations.manwe;
+      };
+    };
+
+  varda = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./varda]
+        ++ (with inputs;
+          (with nixos-hardware.nixosModules; [common-cpu-amd common-pc-ssd])
+          ++ [
+            nixpkgs.nixosModules.notDetected
+            "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix"
+          ]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = my.configurations.varda;
+      };
+    };
+
+  yavanna = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./yavanna]
+        ++ (with inputs;
+          (with nixos-hardware.nixosModules; [common-cpu-intel common-pc-hdd])
+          ++ [nixpkgs.nixosModules.notDetected]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = my.configurations.yavanna;
+      };
+    };
+
+  test-headless = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./test-headless]
+        ++ (with inputs; [
+          nixpkgs.nixosModules.notDetected
+          "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix"
+        ]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = {
+          hostname = "test-headless";
+          isHeadless = true;
+          isHeadful = false;
+        };
+      };
+    };
+
+  test-headful = let
+    system = "x86_64-linux";
+  in
+    nixosSystem {
+      inherit system;
+
+      modules =
+        attrValues inputs.self.nixosModules
+        ++ [./test-headful]
+        ++ (with inputs; [
+          nixpkgs.nixosModules.notDetected
+          "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix"
+        ]);
+
+      specialArgs = rec {
+        inherit inputs lib;
+        this = {
+          hostname = "test-headful";
+          isHeadful = true;
+          isHeadless = false;
+        };
+      };
+    };
+}

Consider giving Nix/NixOS a try! <3