diff --git a/README.md b/README.md
index 3436bdb..5f003b0 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,8 @@ These files are for the systems themselves such as my Pinebook Pro, Raspberry Pi
 ### x86_64 Nix files: (nix-configs/systems/x86_64/)
 
 - `shepard` : This is my System76 nebula49.
-- `garrus` : This is my System76 Galago Pro (galp3-b).
+- `garrus` : This is my System76 Galago Pro (galp5).
+- `grunt` : This is my Google Pixel Slate.
 - `edi` : This is my custom build for homelab possible stuff.
 - `thelio-nvidia` : This is my work Thelio B1.
 - `sovereign` : This was a Linode instance but it could be for other VPS services as well.
@@ -48,6 +49,7 @@ These files are for the systems themselves such as my Pinebook Pro, Raspberry Pi
 ### aarch64 Nix files: (nix-configs/systems/aarch64/)
 
 - `jaal.nix` : This is my Pinebook Pro.
+- `drack.nix` : This is my Thinkpad X13s.
 - `peebee.nix` : This is my PinePhone.
 - `lexi.nix` : This is my OnePlus 6T.
 - `vetra.nix` : This is my Raspberry Pi 4B.
diff --git a/configuration.nix b/configuration.nix
index aec9ce4..81f3c99 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,10 +1,9 @@
-{ config, pkgs, inputs, ... }: 
+{ config, pkgs, ... }: 
 
 {
    imports =
        [
             ./hardware-configuration.nix
-            ./work.nix
        ];
 
    # Latest kernel
@@ -29,6 +28,11 @@
      options = "--delete-older-than 1w";
    };
 
+   swapDevices = [ {
+     device = "/var/lib/swapfile";
+     size = 16*1024;
+   } ];
+
    zramSwap.enable = true;
 
    networking.networkmanager.enable = true;
@@ -75,7 +79,7 @@
                zlib
 
               # Packages from Flake Inputs
-              inputs.nix-software-center.packages.${system}.nix-software-center
+              #inputs.nix-software-center.packages.${system}.nix-software-center
             ]; 
 
    programs.nix-ld.enable = true;
@@ -83,10 +87,6 @@
      # Add any missing dynamic libraries for unpackaged programs
      # here, NOT in environment.systemPackages
    ];
-
-   # Enable COSMIC
-   services.desktopManager.cosmic.enable = true;
-   services.displayManager.cosmic-greeter.enable = true;
  
    # Enable/Disable hardware
    ## Turn off PulseAudio
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..5d7278f
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,104 @@
+{
+   description = "Generic System Flake file";
+
+   inputs = {
+      nixpkgs.url = "github:NixOS/nixpkgs/release-24.05";
+      # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+      disko = {
+         url = github:nix-community/disko;
+         inputs.nixpkgs.follows = "nixpkgs";
+      };
+      nix-software-center.url = "github:snowfallorg/nix-software-center";
+      home-manager = {
+         url = "github:nix-community/home-manager";
+         inputs.nixpkgs.follows = "nixpkgs";
+      };
+      nixos-hardware.url = "github:NixOS/nixos-hardware/master";
+   };
+
+   outputs = { self, nixpkgs, disko, home-manager, nixos-hardware, ... }@inputs: {
+      nixosConfigurations = {
+         "nixos" = nixpkgs.lib.nixosSystem {
+            system = "x86_64-linux";
+            modules = [
+               # Add Disko for disk management
+               disko.nixosModules.disko
+               ./disko-config.nix
+               ./configuration.nix
+               ./hardware-configuration.nix
+            ];
+         };
+
+         "shepard" = nixpkgs.lib.nixosSystem {
+            system = "x86_64-linux";
+            modules = [
+               # Add Disko for disk management
+               disko.nixosModules.disko
+               ./disko-config.nix
+               ./gnome.nix
+               ./shepard.nix
+               ./configuration.nix
+               ./hardware-configuration.nix
+               home-manager.nixosModules.home-manager
+               {
+                  home-manager.useGlobalPkgs = true;
+                  home-manager.useUserPackages = true;
+                  home-manager.users.aaronh = import ./home.nix;
+               }
+            ];
+         };
+
+         "garrus" = nixpkgs.lib.nixosSystem {
+            system = "x86_64-linux";
+            modules = [
+               # Add Disko for disk management
+               disko.nixosModules.disko
+               ./disko-config.nix
+               ./gnome.nix
+               ./garrus.nix
+               ./configuration.nix
+               ./hardware-configuration.nix
+               home-manager.nixosModules.home-manager
+               {
+                  home-manager.useGlobalPkgs = true;
+                  home-manager.useUserPackages = true;
+                  home-manager.users.aaronh = import ./home.nix;
+               }
+            ];
+         };
+
+         "jaal" = nixpkgs.lib.nixosSystem {
+            system = "aarch64-linux";
+            modules = [
+               # Add Disko for disk management
+               disko.nixosModules.disko
+               ./disko-config.nix
+               ./gnome.nix
+               ./jaal.nix
+               ./configuration.nix
+               ./hardware-configuration.nix
+               home-manager.nixosModules.home-manager
+               {
+                  home-manager.useGlobalPkgs = true;
+                  home-manager.useUserPackages = true;
+                  home-manager.users.aaronh = import ./home.nix;
+               }
+               nixos-hardware.nixosModules.pine64-pinebook-pro
+            ];
+         };
+
+         "vm" = nixpkgs.lib.nixosSystem {
+            system = "x86_64-linux";
+            modules = [
+               # Add Disko for disk management
+               disko.nixosModules.disko
+               ./disko-config.nix
+               ./vm.nix
+               ./configuration.nix
+               ./hardware-configuration.nix
+            ];
+         };
+
+      };
+   };
+}
\ No newline at end of file
diff --git a/work.nix b/work.nix
index 40ce59c..11d7ba6 100644
--- a/work.nix
+++ b/work.nix
@@ -9,6 +9,7 @@
    environment.systemPackages = with pkgs; [
       # Comms
       slack
+      tuba
 
       # Tools
       copyq