diff --git a/flake.nix b/flake.nix
index aff96e3..5edb6e6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -135,6 +135,33 @@
         
       };
 
+      Lillie = let
+        system = "x86_64-linux";
+      in
+      lib.nixosSystem {
+
+        specialArgs = {
+          hostname = "Lillie";
+          type = "desktop";
+	        inherit attrs;
+          inherit system;
+        };
+
+        modules = [
+          attrs.home-manager.nixosModules.home-manager
+            {
+              home-manager.useGlobalPkgs = true;
+              home-manager.useUserPackages = true;
+            }
+          attrs.disko.nixosModules.disko
+          attrs.stylix.nixosModules.stylix
+          attrs.nixvim.nixosModules.nixvim
+          ./hosts
+          ./users/willifan
+        ];
+
+      };
+
     };
   };
 }
diff --git a/hosts/Lillie/default.nix b/hosts/Lillie/default.nix
new file mode 100644
index 0000000..81f90fb
--- /dev/null
+++ b/hosts/Lillie/default.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+  imports = [
+    ./hardware-configuration.nix
+    ./disko.nix
+  ];
+}
diff --git a/hosts/Lillie/disko.nix b/hosts/Lillie/disko.nix
new file mode 100644
index 0000000..86bc1b2
--- /dev/null
+++ b/hosts/Lillie/disko.nix
@@ -0,0 +1,56 @@
+{
+  disko.devices = {
+    disk = {
+      nvme0n1 = {
+        type = "disk";
+        device = "/dev/disk/by-id/nvme-CT1000P310SSD2-24314A4587C7";
+        content = {
+          type = "gpt";
+          partitions = {
+            ESP = {
+              priority = 1;
+              name = "ESP";
+              size = "512M";
+              type = "EF00";
+              content = {
+                type = "filesystem";
+                format = "vfat";
+                mountpoint = "/boot";
+              };
+            };
+            root = {
+              size = "100%";
+              content = {
+                type = "btrfs";
+                extraArgs = [ "-f" ]; # Override existing partition
+                # Subvolumes must set a mountpoint in order to be mounted,
+                # unless their parent is mounted
+                subvolumes = {
+                  # Subvolume name is different from mountpoint
+                  "/rootfs" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/";
+                  };
+                  # Subvolume name is the same as the mountpoint
+                  "/home" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/home";
+                  };
+                  # Parent is not mounted so the mountpoint must be set
+                  "/nix" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/nix";
+                  };
+                  "/mnt/data" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/mnt/data";
+                  };
+                };
+              };
+            };
+          };
+        };
+      };
+    };
+  };
+}
diff --git a/users/willifan/Lillie/default.nix b/users/willifan/Lillie/default.nix
new file mode 100644
index 0000000..1c4f482
--- /dev/null
+++ b/users/willifan/Lillie/default.nix
@@ -0,0 +1,4 @@
+{ ... }:
+{
+  
+}