diff --git a/.history/flake_20220304102113.nix b/.history/flake_20220304102113.nix
deleted file mode 100644
index 94f2327..0000000
--- a/.history/flake_20220304102113.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  description = "A very basic flake";
-
-  outputs = { self, nixpkgs }: {
-
-    packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
-
-    defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello;
-
-  };
-}
diff --git a/.history/flake_20220304102211.nix b/.history/flake_20220304102211.nix
deleted file mode 100644
index 88ef73d..0000000
--- a/.history/flake_20220304102211.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  description = "Minion3665's N";
-
-  outputs = { self, nixpkgs }: {
-
-    packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
-
-    defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello;
-
-  };
-}
diff --git a/.history/flake_20220304102216.nix b/.history/flake_20220304102216.nix
deleted file mode 100644
index 1096585..0000000
--- a/.history/flake_20220304102216.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  description = "Minion3665's NixFiles ";
-
-  outputs = { self, nixpkgs }: {
-
-    packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
-
-    defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello;
-
-  };
-}
diff --git a/.history/flake_20220304102224.nix b/.history/flake_20220304102224.nix
deleted file mode 100644
index 5d1109a..0000000
--- a/.history/flake_20220304102224.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  outputs = { self, nixpkgs }: {
-
-    packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
-
-    defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello;
-
-  };
-}
diff --git a/.history/flake_20220304102232.nix b/.history/flake_20220304102232.nix
deleted file mode 100644
index a86a3c3..0000000
--- a/.history/flake_20220304102232.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  outputs = { self, nixpkgs }: {
-
-    
-
-  };
-}
diff --git a/.history/flake_20220304102239.nix b/.history/flake_20220304102239.nix
deleted file mode 100644
index ed6c188..0000000
--- a/.history/flake_20220304102239.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  outputs = { self, nixpkgs, home-manager }: {
-
-    
-
-  };
-}
diff --git a/.history/flake_20220304102251.nix b/.history/flake_20220304102251.nix
deleted file mode 100644
index be044e3..0000000
--- a/.history/flake_20220304102251.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  inputs = {
-    nixpkgs.url = "nixpkgs"
-  }
-
-  outputs = { self, nixpkgs, home-manager }: {
-
-    
-
-  };
-}
diff --git a/.history/flake_20220304102257.nix b/.history/flake_20220304102257.nix
deleted file mode 100644
index e821ca5..0000000
--- a/.history/flake_20220304102257.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-    
-  }
-
-  outputs = { self, nixpkgs, home-manager }: {
-
-    
-
-  };
-}
diff --git a/.history/flake_20220304102300.nix b/.history/flake_20220304102300.nix
deleted file mode 100644
index ecaaadf..0000000
--- a/.history/flake_20220304102300.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-  {
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-      nixpkgs.url = "nixpkgs/nixos-21.11";
-      
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-      
-
-    };
-  }
diff --git a/.history/flake_20220304102301.nix b/.history/flake_20220304102301.nix
deleted file mode 100644
index e821ca5..0000000
--- a/.history/flake_20220304102301.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-  inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-    
-  }
-
-  outputs = { self, nixpkgs, home-manager }: {
-
-    
-
-  };
-}
diff --git a/.history/flake_20220304102348.nix b/.history/flake_20220304102348.nix
deleted file mode 100644
index 00ea0cc..0000000
--- a/.history/flake_20220304102348.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-      nixpkgs.url = "nixpkgs/nixos-21.11";
-      
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-      
-
-    };
-}
diff --git a/.history/flake_20220304102350.nix b/.history/flake_20220304102350.nix
deleted file mode 100644
index 51ce2b6..0000000
--- a/.history/flake_20220304102350.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-  nixpkgs.url = "nixpkgs/nixos-21.11";
-  
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-  
-
-};
-}
diff --git a/.history/flake_20220304102359.nix b/.history/flake_20220304102359.nix
deleted file mode 100644
index 00ea0cc..0000000
--- a/.history/flake_20220304102359.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-      nixpkgs.url = "nixpkgs/nixos-21.11";
-      
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-      
-
-    };
-}
diff --git a/.history/flake_20220304102405.nix b/.history/flake_20220304102405.nix
deleted file mode 100644
index e4e6895..0000000
--- a/.history/flake_20220304102405.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "nixpkgs/nixos-21.11";
-      
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-      
-
-    };
-}
diff --git a/.history/flake_20220304102435.nix b/.history/flake_20220304102435.nix
deleted file mode 100644
index 3eabaa2..0000000
--- a/.history/flake_20220304102435.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-  
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-  
-
-};
-}
diff --git a/.history/flake_20220304102437.nix b/.history/flake_20220304102437.nix
deleted file mode 100644
index 2364845..0000000
--- a/.history/flake_20220304102437.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-  
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-  
-
-};
-}
diff --git a/.history/flake_20220304102439.nix b/.history/flake_20220304102439.nix
deleted file mode 100644
index a0ba3bb..0000000
--- a/.history/flake_20220304102439.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-  
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-  
-
-};
-}
diff --git a/.history/flake_20220304102440.nix b/.history/flake_20220304102440.nix
deleted file mode 100644
index 4a92449..0000000
--- a/.history/flake_20220304102440.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-  
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-  
-
-};
-}
diff --git a/.history/flake_20220304102633.nix b/.history/flake_20220304102633.nix
deleted file mode 100644
index 4c77139..0000000
--- a/.history/flake_20220304102633.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-    {
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-    }
diff --git a/.history/flake_20220304102635.nix b/.history/flake_20220304102635.nix
deleted file mode 100644
index be5a19c..0000000
--- a/.history/flake_20220304102635.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-description = "Minion3665's NixFiles (since 2022-03-24)";
-
-inputs = {
-nixpkgs.url = "nixpkgs/nixos-21.11";
-
-}
-
-outputs = { self, nixpkgs, home-manager }: {
-
-
-
-};
-}
diff --git a/.history/flake_20220304102637.nix b/.history/flake_20220304102637.nix
deleted file mode 100644
index 1c28e57..0000000
--- a/.history/flake_20220304102637.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-    nixpkgs.url = "nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102643.nix b/.history/flake_20220304102643.nix
deleted file mode 100644
index cfabc94..0000000
--- a/.history/flake_20220304102643.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102646.nix b/.history/flake_20220304102646.nix
deleted file mode 100644
index c41ccaa..0000000
--- a/.history/flake_20220304102646.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "nixpkgs/nixos-21.11";
-        
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102650.nix b/.history/flake_20220304102650.nix
deleted file mode 100644
index 8377a9c..0000000
--- a/.history/flake_20220304102650.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102652.nix b/.history/flake_20220304102652.nix
deleted file mode 100644
index 4f3177e..0000000
--- a/.history/flake_20220304102652.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:Ninixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102654.nix b/.history/flake_20220304102654.nix
deleted file mode 100644
index 8377a9c..0000000
--- a/.history/flake_20220304102654.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102658.nix b/.history/flake_20220304102658.nix
deleted file mode 100644
index b8b7cb3..0000000
--- a/.history/flake_20220304102658.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102701.nix b/.history/flake_20220304102701.nix
deleted file mode 100644
index 71c47c1..0000000
--- a/.history/flake_20220304102701.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304102722.nix b/.history/flake_20220304102722.nix
deleted file mode 100644
index b15d29f..0000000
--- a/.history/flake_20220304102722.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-
-
-
-    };
-}
diff --git a/.history/flake_20220304103312.nix b/.history/flake_20220304103312.nix
deleted file mode 100644
index 438e5f7..0000000
--- a/.history/flake_20220304103312.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-    };
-}
diff --git a/.history/flake_20220304103318.nix b/.history/flake_20220304103318.nix
deleted file mode 100644
index e390338..0000000
--- a/.history/flake_20220304103318.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = 
-    };
-}
diff --git a/.history/flake_20220304103321.nix b/.history/flake_20220304103321.nix
deleted file mode 100644
index 10a6d81..0000000
--- a/.history/flake_20220304103321.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "";
-    };
-}
diff --git a/.history/flake_20220304112027.nix b/.history/flake_20220304112027.nix
deleted file mode 100644
index 1d295ca..0000000
--- a/.history/flake_20220304112027.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";
-    };
-}
diff --git a/.history/flake_20220304112031.nix b/.history/flake_20220304112031.nix
deleted file mode 100644
index 9ec9de9..0000000
--- a/.history/flake_20220304112031.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: 
-    };
-}
diff --git a/.history/flake_20220304112033.nix b/.history/flake_20220304112033.nix
deleted file mode 100644
index b734a2f..0000000
--- a/.history/flake_20220304112033.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add 
-    };
-}
diff --git a/.history/flake_20220304112038.nix b/.history/flake_20220304112038.nix
deleted file mode 100644
index 10f8d55..0000000
--- a/.history/flake_20220304112038.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-            
-    };
-}
diff --git a/.history/flake_20220304112044.nix b/.history/flake_20220304112044.nix
deleted file mode 100644
index c93a056..0000000
--- a/.history/flake_20220304112044.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            
-    };
-}
diff --git a/.history/flake_20220304112049.nix b/.history/flake_20220304112049.nix
deleted file mode 100644
index 5b9d9ad..0000000
--- a/.history/flake_20220304112049.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs 
-    };
-}
diff --git a/.history/flake_20220304112050.nix b/.history/flake_20220304112050.nix
deleted file mode 100644
index 84fea12..0000000
--- a/.history/flake_20220304112050.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs =
-    };
-}
diff --git a/.history/flake_20220304112058.nix b/.history/flake_20220304112058.nix
deleted file mode 100644
index 398e5c1..0000000
--- a/.history/flake_20220304112058.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpk
-    };
-}
diff --git a/.history/flake_20220304112108.nix b/.history/flake_20220304112108.nix
deleted file mode 100644
index 402329f..0000000
--- a/.history/flake_20220304112108.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = 
-            }
-    };
-}
diff --git a/.history/flake_20220304112110.nix b/.history/flake_20220304112110.nix
deleted file mode 100644
index e9c4e73..0000000
--- a/.history/flake_20220304112110.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = ()
-            }
-    };
-}
diff --git a/.history/flake_20220304112114.nix b/.history/flake_20220304112114.nix
deleted file mode 100644
index b7730b5..0000000
--- a/.history/flake_20220304112114.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = {  }
-            }
-    };
-}
diff --git a/.history/flake_20220304112118.nix b/.history/flake_20220304112118.nix
deleted file mode 100644
index 99a27ea..0000000
--- a/.history/flake_20220304112118.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; }
-            }
-    };
-}
diff --git a/.history/flake_20220304112120.nix b/.history/flake_20220304112120.nix
deleted file mode 100644
index b4408d0..0000000
--- a/.history/flake_20220304112120.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            }
-    };
-}
diff --git a/.history/flake_20220304112123.nix b/.history/flake_20220304112123.nix
deleted file mode 100644
index 6a74ee8..0000000
--- a/.history/flake_20220304112123.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-    };
-}
diff --git a/.history/flake_20220304112137.nix b/.history/flake_20220304112137.nix
deleted file mode 100644
index 0eb7eb2..0000000
--- a/.history/flake_20220304112137.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in
-    };
-}
diff --git a/.history/flake_20220304112139.nix b/.history/flake_20220304112139.nix
deleted file mode 100644
index bf23796..0000000
--- a/.history/flake_20220304112139.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in
-        
-    };
-}
diff --git a/.history/flake_20220304112143.nix b/.history/flake_20220304112143.nix
deleted file mode 100644
index 0eb7eb2..0000000
--- a/.history/flake_20220304112143.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in
-    };
-}
diff --git a/.history/flake_20220304112147.nix b/.history/flake_20220304112147.nix
deleted file mode 100644
index 54dffef..0000000
--- a/.history/flake_20220304112147.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nix
-        }
-    };
-}
diff --git a/.history/flake_20220304112150.nix b/.history/flake_20220304112150.nix
deleted file mode 100644
index 31b62c2..0000000
--- a/.history/flake_20220304112150.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixos
-        }
-    };
-}
diff --git a/.history/flake_20220304112154.nix b/.history/flake_20220304112154.nix
deleted file mode 100644
index 76b1812..0000000
--- a/.history/flake_20220304112154.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = 
-        }
-    };
-}
diff --git a/.history/flake_20220304112156.nix b/.history/flake_20220304112156.nix
deleted file mode 100644
index 7b8896f..0000000
--- a/.history/flake_20220304112156.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                
-            }
-        }
-    };
-}
diff --git a/.history/flake_20220304112205.nix b/.history/flake_20220304112205.nix
deleted file mode 100644
index 5965162..0000000
--- a/.history/flake_20220304112205.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            }
-        }
-    };
-}
diff --git a/.history/flake_20220304112207.nix b/.history/flake_20220304112207.nix
deleted file mode 100644
index 7b8896f..0000000
--- a/.history/flake_20220304112207.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                
-            }
-        }
-    };
-}
diff --git a/.history/flake_20220304112209.nix b/.history/flake_20220304112209.nix
deleted file mode 100644
index 3b8e8ba..0000000
--- a/.history/flake_20220304112209.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112212.nix b/.history/flake_20220304112212.nix
deleted file mode 100644
index 6c7a4d3..0000000
--- a/.history/flake_20220304112212.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112214.nix b/.history/flake_20220304112214.nix
deleted file mode 100644
index 9da0643..0000000
--- a/.history/flake_20220304112214.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112219.nix b/.history/flake_20220304112219.nix
deleted file mode 100644
index e8dc4fa..0000000
--- a/.history/flake_20220304112219.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            }
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112232.nix b/.history/flake_20220304112232.nix
deleted file mode 100644
index 6c7a4d3..0000000
--- a/.history/flake_20220304112232.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11"
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112243.nix b/.history/flake_20220304112243.nix
deleted file mode 100644
index 22113a4..0000000
--- a/.history/flake_20220304112243.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    }
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112245.nix b/.history/flake_20220304112245.nix
deleted file mode 100644
index 0f37ce7..0000000
--- a/.history/flake_20220304112245.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112252.nix b/.history/flake_20220304112252.nix
deleted file mode 100644
index 5f52873..0000000
--- a/.history/flake_20220304112252.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    }
-}
diff --git a/.history/flake_20220304112301.nix b/.history/flake_20220304112301.nix
deleted file mode 100644
index 0f37ce7..0000000
--- a/.history/flake_20220304112301.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112314.nix b/.history/flake_20220304112314.nix
deleted file mode 100644
index ed81893..0000000
--- a/.history/flake_20220304112314.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = import nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112316.nix b/.history/flake_20220304112316.nix
deleted file mode 100644
index 0f37ce7..0000000
--- a/.history/flake_20220304112316.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112328.nix b/.history/flake_20220304112328.nix
deleted file mode 100644
index 30b94bb..0000000
--- a/.history/flake_20220304112328.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112331.nix b/.history/flake_20220304112331.nix
deleted file mode 100644
index cd46949..0000000
--- a/.history/flake_20220304112331.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default 
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112335.nix b/.history/flake_20220304112335.nix
deleted file mode 100644
index e2ec11d..0000000
--- a/.history/flake_20220304112335.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pk
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112353.nix b/.history/flake_20220304112353.nix
deleted file mode 100644
index 7e3e44a..0000000
--- a/.history/flake_20220304112353.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        
-                    ];
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112412.nix b/.history/flake_20220304112412.nix
deleted file mode 100644
index 22e898a..0000000
--- a/.history/flake_20220304112412.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src
-                    ];
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112417.nix b/.history/flake_20220304112417.nix
deleted file mode 100644
index a6c5539..0000000
--- a/.history/flake_20220304112417.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/systee
-                    ];
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112421.nix b/.history/flake_20220304112421.nix
deleted file mode 100644
index 499fd4e..0000000
--- a/.history/flake_20220304112421.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                    
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112422.nix b/.history/flake_20220304112422.nix
deleted file mode 100644
index aee45bd..0000000
--- a/.history/flake_20220304112422.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-
-                    
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112424.nix b/.history/flake_20220304112424.nix
deleted file mode 100644
index 118a4ed..0000000
--- a/.history/flake_20220304112424.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-        };
-    };
-}
diff --git a/.history/flake_20220304112426.nix b/.history/flake_20220304112426.nix
deleted file mode 100644
index ed71acb..0000000
--- a/.history/flake_20220304112426.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            
-        };
-    };
-}
diff --git a/.history/flake_20220304112436.nix b/.history/flake_20220304112436.nix
deleted file mode 100644
index 690aafb..0000000
--- a/.history/flake_20220304112436.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration
-        };
-    };
-}
diff --git a/.history/flake_20220304112438.nix b/.history/flake_20220304112438.nix
deleted file mode 100644
index 8cdb62d..0000000
--- a/.history/flake_20220304112438.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112449.nix b/.history/flake_20220304112449.nix
deleted file mode 100644
index e7685bc..0000000
--- a/.history/flake_20220304112449.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112452.nix b/.history/flake_20220304112452.nix
deleted file mode 100644
index 9bdee2d..0000000
--- a/.history/flake_20220304112452.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homema
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112455.nix b/.history/flake_20220304112455.nix
deleted file mode 100644
index fc0a6f4..0000000
--- a/.history/flake_20220304112455.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112459.nix b/.history/flake_20220304112459.nix
deleted file mode 100644
index 6d5975d..0000000
--- a/.history/flake_20220304112459.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112501.nix b/.history/flake_20220304112501.nix
deleted file mode 100644
index 539ae12..0000000
--- a/.history/flake_20220304112501.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs;
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112505.nix b/.history/flake_20220304112505.nix
deleted file mode 100644
index 539ae12..0000000
--- a/.history/flake_20220304112505.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs;
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112507.nix b/.history/flake_20220304112507.nix
deleted file mode 100644
index 3fabeb5..0000000
--- a/.history/flake_20220304112507.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs;
-
-                    
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112511.nix b/.history/flake_20220304112511.nix
deleted file mode 100644
index 6469a13..0000000
--- a/.history/flake_20220304112511.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs;
-
-                    username = ""
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112517.nix b/.history/flake_20220304112517.nix
deleted file mode 100644
index 6a7eac4..0000000
--- a/.history/flake_20220304112517.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = ""
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112523.nix b/.history/flake_20220304112523.nix
deleted file mode 100644
index 32025c8..0000000
--- a/.history/flake_20220304112523.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = ""
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112530.nix b/.history/flake_20220304112530.nix
deleted file mode 100644
index 723f82d..0000000
--- a/.history/flake_20220304112530.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112532.nix b/.history/flake_20220304112532.nix
deleted file mode 100644
index 3cbf681..0000000
--- a/.history/flake_20220304112532.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112536.nix b/.history/flake_20220304112536.nix
deleted file mode 100644
index 4d91b6d..0000000
--- a/.history/flake_20220304112536.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = 
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112540.nix b/.history/flake_20220304112540.nix
deleted file mode 100644
index 9f4a42a..0000000
--- a/.history/flake_20220304112540.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        impo
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112545.nix b/.history/flake_20220304112545.nix
deleted file mode 100644
index 32cd258..0000000
--- a/.history/flake_20220304112545.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112549.nix b/.history/flake_20220304112549.nix
deleted file mode 100644
index b7f5263..0000000
--- a/.history/flake_20220304112549.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112554.nix b/.history/flake_20220304112554.nix
deleted file mode 100644
index 45c2dd2..0000000
--- a/.history/flake_20220304112554.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112607.nix b/.history/flake_20220304112607.nix
deleted file mode 100644
index cb85bd2..0000000
--- a/.history/flake_20220304112607.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112614.nix b/.history/flake_20220304112614.nix
deleted file mode 100644
index 67e6bb6..0000000
--- a/.history/flake_20220304112614.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112616.nix b/.history/flake_20220304112616.nix
deleted file mode 100644
index 45c2dd2..0000000
--- a/.history/flake_20220304112616.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112727.nix b/.history/flake_20220304112727.nix
deleted file mode 100644
index 51b9fc8..0000000
--- a/.history/flake_20220304112727.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11"
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112729.nix b/.history/flake_20220304112729.nix
deleted file mode 100644
index 67e6bb6..0000000
--- a/.history/flake_20220304112729.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112745.nix b/.history/flake_20220304112745.nix
deleted file mode 100644
index fee069a..0000000
--- a/.history/flake_20220304112745.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager, }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112747.nix b/.history/flake_20220304112747.nix
deleted file mode 100644
index 67e6bb6..0000000
--- a/.history/flake_20220304112747.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112852.nix b/.history/flake_20220304112852.nix
deleted file mode 100644
index 43e9a15..0000000
--- a/.history/flake_20220304112852.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                        src/mixins/stateVersion.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112901.nix b/.history/flake_20220304112901.nix
deleted file mode 100644
index e6c1cab..0000000
--- a/.history/flake_20220304112901.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                        src/mixins/stateVersion.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                            src/mixins/stateVersion.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112915.nix b/.history/flake_20220304112915.nix
deleted file mode 100644
index 43e9a15..0000000
--- a/.history/flake_20220304112915.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                        src/mixins/stateVersion.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304112919.nix b/.history/flake_20220304112919.nix
deleted file mode 100644
index 67e6bb6..0000000
--- a/.history/flake_20220304112919.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134640.nix b/.history/flake_20220304134640.nix
deleted file mode 100644
index 5d0eca8..0000000
--- a/.history/flake_20220304134640.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134643.nix b/.history/flake_20220304134643.nix
deleted file mode 100644
index 2994968..0000000
--- a/.history/flake_20220304134643.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./common/
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134647.nix b/.history/flake_20220304134647.nix
deleted file mode 100644
index d16948e..0000000
--- a/.history/flake_20220304134647.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/comm
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134654.nix b/.history/flake_20220304134654.nix
deleted file mode 100644
index 85ba789..0000000
--- a/.history/flake_20220304134654.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/common/variables.nix;
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134655.nix b/.history/flake_20220304134655.nix
deleted file mode 100644
index eb7016e..0000000
--- a/.history/flake_20220304134655.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/common/variables.nix;a
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134656.nix b/.history/flake_20220304134656.nix
deleted file mode 100644
index 85ba789..0000000
--- a/.history/flake_20220304134656.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/common/variables.nix;
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-
-                    stateVersion = "21.11";
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134701.nix b/.history/flake_20220304134701.nix
deleted file mode 100644
index e6fba26..0000000
--- a/.history/flake_20220304134701.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/common/variables.nix;
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = "minion";
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/flake_20220304134710.nix b/.history/flake_20220304134710.nix
deleted file mode 100644
index 7329556..0000000
--- a/.history/flake_20220304134710.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    description = "Minion3665's NixFiles (since 2022-03-24)";
-
-    inputs = {
-        nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
-        home-manager.url = "github:nix-community/home-manager/release-21.11";
-    };
-
-    outputs = { self, nixpkgs, home-manager }: {
-        let
-            system = "x86_64-linux";  # TOOD: Add options for MacOS
-
-            pkgs = nixpkgs {
-                inherit system;
-
-                config = { allowUnfree = true; };
-            };
-
-            variables = import ./src/common/variables.nix;
-        in {
-            nixosConfigurations = {
-                default = pkgs.lib.nixosSystem {
-                    inherit system;
-
-                    modules = [
-                        src/system.nix
-                    ];
-                }
-            };
-
-            homeManagerConfiguration = {
-                minion = home-manager.lib.homeManagerConfiguration rec {
-                    inherit system pkgs;
-
-                    username = variables.username;
-                    homeDirectory = "/home/${username}";
-
-                    configuration = {
-                        imports = [
-                            src/home.nix
-                        ];
-                    }
-                }
-            }
-        };
-    };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211319.nix b/.history/src/apps/personal/anytype_20220304211319.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/anytype_20220304211319.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/anytype_20220304211358.nix b/.history/src/apps/personal/anytype_20220304211358.nix
deleted file mode 100644
index 6402a59..0000000
--- a/.history/src/apps/personal/anytype_20220304211358.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-final: prev: let
-  build = "24";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-#    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-0.24.0.AppImage";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211422.nix b/.history/src/apps/personal/anytype_20220304211422.nix
deleted file mode 100644
index a8ddc33..0000000
--- a/.history/src/apps/personal/anytype_20220304211422.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-final: prev: let
-  build = "24";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-0.24.0.AppImage";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211424.nix b/.history/src/apps/personal/anytype_20220304211424.nix
deleted file mode 100644
index 76e526c..0000000
--- a/.history/src/apps/personal/anytype_20220304211424.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "24";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211602.nix b/.history/src/apps/personal/anytype_20220304211602.nix
deleted file mode 100644
index f38ff62..0000000
--- a/.history/src/apps/personal/anytype_20220304211602.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "24";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {https://download.anytype.io/en?action=download&key=desktop&id=57693545
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211604.nix b/.history/src/apps/personal/anytype_20220304211604.nix
deleted file mode 100644
index 76e526c..0000000
--- a/.history/src/apps/personal/anytype_20220304211604.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "24";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211606.nix b/.history/src/apps/personal/anytype_20220304211606.nix
deleted file mode 100644
index 05e6715..0000000
--- a/.history/src/apps/personal/anytype_20220304211606.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "https://download.anytype.io/en?action=download&key=desktop&id=57693545";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211610.nix b/.history/src/apps/personal/anytype_20220304211610.nix
deleted file mode 100644
index db12fe4..0000000
--- a/.history/src/apps/personal/anytype_20220304211610.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211611.nix b/.history/src/apps/personal/anytype_20220304211611.nix
deleted file mode 100644
index ee6fb56..0000000
--- a/.history/src/apps/personal/anytype_20220304211611.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype-latest = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/anytype_20220304211645.nix b/.history/src/apps/personal/anytype_20220304211645.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/anytype_20220304211645.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/git_20220304220916.nix b/.history/src/apps/personal/git_20220304220916.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/git_20220304220916.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/git_20220304220932.nix b/.history/src/apps/personal/git_20220304220932.nix
deleted file mode 100644
index 1f1f129..0000000
--- a/.history/src/apps/personal/git_20220304220932.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-            enable = true;
-            plugins = [ "git" ];
-            theme = "crunch";
-        };
-        history = {
-            size = 10000;
-            path = "${config.xdg.dataHome}/zsh/history";
-            expireDuplicatesFirst = true;
-            extended = true;
-        };
-        initExtra = ''
-            bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-            command_not_found_handler ()
-            {
-                local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-                if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                    "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                  if [ $? = 126 ]; then
-                        "$@";
-                    else
-                        return 127;
-                    fi;
-                else
-                    echo "$1: command not found" 1>&2;
-                    return 127;
-                fi
-            }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/git_20220304220942.nix b/.history/src/apps/personal/git_20220304220942.nix
deleted file mode 100644
index 65258aa..0000000
--- a/.history/src/apps/personal/git_20220304220942.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-  programs.git = {
-    enable = true;
-
-    userName = "Skyler Turner";
-    userEmail = "skyler@clicksminuteper.net";
-
-    signing = {
-      key = "24D31D3B1B986F33";
-      signByDefault = true;
-      gpgPath = "gpg2";
-    };
-
-    lfs.enable = true;
-    delta.enable = true;
-
-    extraConfig = {
-      init.defaultBranch = "development";
-      color.ui = "auto";
-      core.autocrlf = "input";
-      pull.rebase = false;
-    };
-  };
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/git_20220304220947.nix b/.history/src/apps/personal/git_20220304220947.nix
deleted file mode 100644
index 2183edc..0000000
--- a/.history/src/apps/personal/git_20220304220947.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.git = {
-      enable = true;
-
-      userName = "Skyler Turner";
-      userEmail = "skyler@clicksminuteper.net";
-
-      signing = {
-        key = "24D31D3B1B986F33";
-        signByDefault = true;
-        gpgPath = "gpg2";
-      };
-
-      lfs.enable = true;
-      delta.enable = true;
-
-      extraConfig = {
-        init.defaultBranch = "development";
-        color.ui = "auto";
-        core.autocrlf = "input";
-        pull.rebase = false;
-      };
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/git_20220304220950.nix b/.history/src/apps/personal/git_20220304220950.nix
deleted file mode 100644
index 2f4459e..0000000
--- a/.history/src/apps/personal/git_20220304220950.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.git = {
-        enable = true;
-
-        userName = "Skyler Turner";
-        userEmail = "skyler@clicksminuteper.net";
-
-        signing = {
-          key = "24D31D3B1B986F33";
-          signByDefault = true;
-          gpgPath = "gpg2";
-        };
-
-        lfs.enable = true;
-        delta.enable = true;
-
-        extraConfig = {
-          init.defaultBranch = "development";
-          color.ui = "auto";
-          core.autocrlf = "input";
-          pull.rebase = false;
-        };
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/git_20220304220951.nix b/.history/src/apps/personal/git_20220304220951.nix
deleted file mode 100644
index 91998c2..0000000
--- a/.history/src/apps/personal/git_20220304220951.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.git = {
-        enable = true;
-
-        userName = "Skyler Turner";
-        userEmail = "skyler@clicksminuteper.net";
-
-        signing = {
-          key = "24D31D3B1B986F33";
-          signByDefault = true;
-          gpgPath = "gpg2";
-        };
-
-        lfs.enable = true;
-        delta.enable = true;
-
-        extraConfig = {
-            init.defaultBranch = "development";
-            color.ui = "auto";
-            core.autocrlf = "input";
-            pull.rebase = false;
-        };
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/git_20220304220953.nix b/.history/src/apps/personal/git_20220304220953.nix
deleted file mode 100644
index 37a52ea..0000000
--- a/.history/src/apps/personal/git_20220304220953.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.git = {
-        enable = true;
-
-        userName = "Skyler Turner";
-        userEmail = "skyler@clicksminuteper.net";
-
-        signing = {
-            key = "24D31D3B1B986F33";
-            signByDefault = true;
-            gpgPath = "gpg2";
-        };
-
-        lfs.enable = true;
-        delta.enable = true;
-
-        extraConfig = {
-            init.defaultBranch = "development";
-            color.ui = "auto";
-            core.autocrlf = "input";
-            pull.rebase = false;
-        };
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/go_20220304220326.nix b/.history/src/apps/personal/go_20220304220326.nix
deleted file mode 100644
index e1b2c2e..0000000
--- a/.history/src/apps/personal/go_20220304220326.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    programs.vscode.package = pkgs.vscode-fhs;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/go_20220304220337.nix b/.history/src/apps/personal/go_20220304220337.nix
deleted file mode 100644
index dcf5a90..0000000
--- a/.history/src/apps/personal/go_20220304220337.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.go.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220406.nix b/.history/src/apps/personal/gpg_20220304220406.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/gpg_20220304220406.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/gpg_20220304220413.nix b/.history/src/apps/personal/gpg_20220304220413.nix
deleted file mode 100644
index e1b2c2e..0000000
--- a/.history/src/apps/personal/gpg_20220304220413.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    programs.vscode.package = pkgs.vscode-fhs;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220421.nix b/.history/src/apps/personal/gpg_20220304220421.nix
deleted file mode 100644
index 8581c30..0000000
--- a/.history/src/apps/personal/gpg_20220304220421.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220422.nix b/.history/src/apps/personal/gpg_20220304220422.nix
deleted file mode 100644
index 7bf188d..0000000
--- a/.history/src/apps/personal/gpg_20220304220422.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220437.nix b/.history/src/apps/personal/gpg_20220304220437.nix
deleted file mode 100644
index 1972663..0000000
--- a/.history/src/apps/personal/gpg_20220304220437.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-      
-    }
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220438.nix b/.history/src/apps/personal/gpg_20220304220438.nix
deleted file mode 100644
index 383089e..0000000
--- a/.history/src/apps/personal/gpg_20220304220438.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220445.nix b/.history/src/apps/personal/gpg_20220304220445.nix
deleted file mode 100644
index e567835..0000000
--- a/.history/src/apps/personal/gpg_20220304220445.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-        enable = true;
-        pine
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220447.nix b/.history/src/apps/personal/gpg_20220304220447.nix
deleted file mode 100644
index cbf0b61..0000000
--- a/.history/src/apps/personal/gpg_20220304220447.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-        enable = true;
-        pinentryFlavor = "qt";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220633.nix b/.history/src/apps/personal/gpg_20220304220633.nix
deleted file mode 100644
index f33c7f6..0000000
--- a/.history/src/apps/personal/gpg_20220304220633.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-        enable = true;
-        pinentryFlavor = "qt";
-    };
-
-    
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220644.nix b/.history/src/apps/personal/gpg_20220304220644.nix
deleted file mode 100644
index 9d66503..0000000
--- a/.history/src/apps/personal/gpg_20220304220644.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-        enable = true;
-        pinentryFlavor = "qt";
-    };
-
-    home.packages = with pkgs; [
-      
-    ]
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/gpg_20220304220646.nix b/.history/src/apps/personal/gpg_20220304220646.nix
deleted file mode 100644
index 71b5dba..0000000
--- a/.history/src/apps/personal/gpg_20220304220646.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.gpg.enable = true;
-    services.gpg-agent = {
-        enable = true;
-        pinentryFlavor = "qt";
-    };
-
-    home.packages = with pkgs; [
-        pinentry_qt
-    ];
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/nodejs_20220304214343.nix b/.history/src/apps/personal/nodejs_20220304214343.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/nodejs_20220304214343.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/nodejs_20220304214350.nix b/.history/src/apps/personal/nodejs_20220304214350.nix
deleted file mode 100644
index 525c1c7..0000000
--- a/.history/src/apps/personal/nodejs_20220304214350.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        spotify
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/nodejs_20220304214353.nix b/.history/src/apps/personal/nodejs_20220304214353.nix
deleted file mode 100644
index ad573c5..0000000
--- a/.history/src/apps/personal/nodejs_20220304214353.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        node
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/nodejs_20220304214354.nix b/.history/src/apps/personal/nodejs_20220304214354.nix
deleted file mode 100644
index b8ed6ac..0000000
--- a/.history/src/apps/personal/nodejs_20220304214354.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        nodejs-17_x
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/nodejs_20220304215719.nix b/.history/src/apps/personal/nodejs_20220304215719.nix
deleted file mode 100644
index b8ed6ac..0000000
--- a/.history/src/apps/personal/nodejs_20220304215719.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        nodejs-17_x
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/overlay/anytype_20220304211712.nix b/.history/src/apps/personal/overlay/anytype_20220304211712.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/overlay/anytype_20220304211712.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/overlay/anytype_20220304211947.nix b/.history/src/apps/personal/overlay/anytype_20220304211947.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/overlay/anytype_20220304211947.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/overlay/anytype_20220304211955.nix b/.history/src/apps/personal/overlay/anytype_20220304211955.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/overlay/anytype_20220304211955.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/overlay/anytype_20220304214335.nix b/.history/src/apps/personal/overlay/anytype_20220304214335.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/overlay/anytype_20220304214335.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/overlay/anytype_20220304215720.nix b/.history/src/apps/personal/overlay/anytype_20220304215720.nix
deleted file mode 100644
index e40117d..0000000
--- a/.history/src/apps/personal/overlay/anytype_20220304215720.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-final: prev: let
-  build = "57693545";
-  sha = "sha256-ayexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
-
-  pname = "anytype";
-  name = "${pname}-${build}";
-
-  src = final.fetchurl {
-    url = "https://download.anytype.io/?action=download&key=desktop&id=${build}";
-    sha256 = sha;
-    name = "AnyType-${build}.AppImage";
-  };
-
-  appimageContents = final.appimageTools.extractType2 { inherit name src; };
-in {
-  anytype = prev.appimageTools.wrapType2 {
-    inherit name src;
-
-    extraPkgs = pkgs: (prev.appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
-      ++ [ pkgs.libsecret ];
-
-    extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-      install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/anytype2.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
-        $out/share/icons/hicolor/512x512/apps/anytype2.png
-    '';
-
-    meta = with prev.lib; {
-      description = "P2P note-taking tool";
-      homepage = "https://anytype.io/";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ bbigras ];
-      platforms = [ "x86_64-linux" ];
-    };
-  };
-}
diff --git a/.history/src/apps/personal/spotify_20220304212709.nix b/.history/src/apps/personal/spotify_20220304212709.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/spotify_20220304212709.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/spotify_20220304212716.nix b/.history/src/apps/personal/spotify_20220304212716.nix
deleted file mode 100644
index 8765ba3..0000000
--- a/.history/src/apps/personal/spotify_20220304212716.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304212722.nix b/.history/src/apps/personal/spotify_20220304212722.nix
deleted file mode 100644
index 8011d1d..0000000
--- a/.history/src/apps/personal/spotify_20220304212722.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, nixpkgs }:
-{
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304212732.nix b/.history/src/apps/personal/spotify_20220304212732.nix
deleted file mode 100644
index 3a8a83a..0000000
--- a/.history/src/apps/personal/spotify_20220304212732.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304212735.nix b/.history/src/apps/personal/spotify_20220304212735.nix
deleted file mode 100644
index 3dba95a..0000000
--- a/.history/src/apps/personal/spotify_20220304212735.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304212749.nix b/.history/src/apps/personal/spotify_20220304212749.nix
deleted file mode 100644
index 095bc0f..0000000
--- a/.history/src/apps/personal/spotify_20220304212749.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304212756.nix b/.history/src/apps/personal/spotify_20220304212756.nix
deleted file mode 100644
index 525c1c7..0000000
--- a/.history/src/apps/personal/spotify_20220304212756.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        spotify
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304214334.nix b/.history/src/apps/personal/spotify_20220304214334.nix
deleted file mode 100644
index 525c1c7..0000000
--- a/.history/src/apps/personal/spotify_20220304214334.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        spotify
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304214922.nix b/.history/src/apps/personal/spotify_20220304214922.nix
deleted file mode 100644
index c341bf4..0000000
--- a/.history/src/apps/personal/spotify_20220304214922.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        spotify
-    ];
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/spotify_20220304215720.nix b/.history/src/apps/personal/spotify_20220304215720.nix
deleted file mode 100644
index c341bf4..0000000
--- a/.history/src/apps/personal/spotify_20220304215720.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        spotify
-    ];
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212017.nix b/.history/src/apps/personal/steam_20220304212017.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/steam_20220304212017.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/steam_20220304212032.nix b/.history/src/apps/personal/steam_20220304212032.nix
deleted file mode 100644
index f23ca99..0000000
--- a/.history/src/apps/personal/steam_20220304212032.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        steam-run
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212037.nix b/.history/src/apps/personal/steam_20220304212037.nix
deleted file mode 100644
index 1704202..0000000
--- a/.history/src/apps/personal/steam_20220304212037.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        anytype
-
-        steam-run
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212040.nix b/.history/src/apps/personal/steam_20220304212040.nix
deleted file mode 100644
index 6343904..0000000
--- a/.history/src/apps/personal/steam_20220304212040.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212046.nix b/.history/src/apps/personal/steam_20220304212046.nix
deleted file mode 100644
index a964ccf..0000000
--- a/.history/src/apps/personal/steam_20220304212046.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212148.nix b/.history/src/apps/personal/steam_20220304212148.nix
deleted file mode 100644
index c7ac3be..0000000
--- a/.history/src/apps/personal/steam_20220304212148.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    s
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212152.nix b/.history/src/apps/personal/steam_20220304212152.nix
deleted file mode 100644
index 91482d8..0000000
--- a/.history/src/apps/personal/steam_20220304212152.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    progra
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212155.nix b/.history/src/apps/personal/steam_20220304212155.nix
deleted file mode 100644
index f6823f9..0000000
--- a/.history/src/apps/personal/steam_20220304212155.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212201.nix b/.history/src/apps/personal/steam_20220304212201.nix
deleted file mode 100644
index c873d79..0000000
--- a/.history/src/apps/personal/steam_20220304212201.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-    
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212205.nix b/.history/src/apps/personal/steam_20220304212205.nix
deleted file mode 100644
index 020cd0c..0000000
--- a/.history/src/apps/personal/steam_20220304212205.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-    
-    
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212206.nix b/.history/src/apps/personal/steam_20220304212206.nix
deleted file mode 100644
index df83b7b..0000000
--- a/.history/src/apps/personal/steam_20220304212206.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212214.nix b/.history/src/apps/personal/steam_20220304212214.nix
deleted file mode 100644
index a4fbc21..0000000
--- a/.history/src/apps/personal/steam_20220304212214.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable 
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212225.nix b/.history/src/apps/personal/steam_20220304212225.nix
deleted file mode 100644
index 8765ba3..0000000
--- a/.history/src/apps/personal/steam_20220304212225.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212727.nix b/.history/src/apps/personal/steam_20220304212727.nix
deleted file mode 100644
index 3a8a83a..0000000
--- a/.history/src/apps/personal/steam_20220304212727.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212738.nix b/.history/src/apps/personal/steam_20220304212738.nix
deleted file mode 100644
index 3dba95a..0000000
--- a/.history/src/apps/personal/steam_20220304212738.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304212744.nix b/.history/src/apps/personal/steam_20220304212744.nix
deleted file mode 100644
index 095bc0f..0000000
--- a/.history/src/apps/personal/steam_20220304212744.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304214334.nix b/.history/src/apps/personal/steam_20220304214334.nix
deleted file mode 100644
index 095bc0f..0000000
--- a/.history/src/apps/personal/steam_20220304214334.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/steam_20220304215719.nix b/.history/src/apps/personal/steam_20220304215719.nix
deleted file mode 100644
index 095bc0f..0000000
--- a/.history/src/apps/personal/steam_20220304215719.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215734.nix b/.history/src/apps/personal/vscode_20220304215734.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/vscode_20220304215734.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/vscode_20220304215806.nix b/.history/src/apps/personal/vscode_20220304215806.nix
deleted file mode 100644
index 095bc0f..0000000
--- a/.history/src/apps/personal/vscode_20220304215806.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    home.packages = with pkgs; [
-        steam-run
-    ];
-
-    programs.steam.enable = true;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215817.nix b/.history/src/apps/personal/vscode_20220304215817.nix
deleted file mode 100644
index 11a1fc2..0000000
--- a/.history/src/apps/personal/vscode_20220304215817.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-      programs.vscode.enable = true;
-  programs.vscode.package = pkgs.vscode-fhs;
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215819.nix b/.history/src/apps/personal/vscode_20220304215819.nix
deleted file mode 100644
index 829b179..0000000
--- a/.history/src/apps/personal/vscode_20220304215819.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-  programs.vscode.package = pkgs.vscode-fhs;
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215821.nix b/.history/src/apps/personal/vscode_20220304215821.nix
deleted file mode 100644
index d8f0142..0000000
--- a/.history/src/apps/personal/vscode_20220304215821.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    .vscode.package = pkgs.vscode-fhs;
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215824.nix b/.history/src/apps/personal/vscode_20220304215824.nix
deleted file mode 100644
index 829b179..0000000
--- a/.history/src/apps/personal/vscode_20220304215824.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-  programs.vscode.package = pkgs.vscode-fhs;
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215825.nix b/.history/src/apps/personal/vscode_20220304215825.nix
deleted file mode 100644
index 0ccfe9e..0000000
--- a/.history/src/apps/personal/vscode_20220304215825.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    programs.vscode.package = pkgs.vscode-fhs;
-
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/vscode_20220304215826.nix b/.history/src/apps/personal/vscode_20220304215826.nix
deleted file mode 100644
index e1b2c2e..0000000
--- a/.history/src/apps/personal/vscode_20220304215826.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    programs.vscode.package = pkgs.vscode-fhs;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220716.nix b/.history/src/apps/personal/zsh_20220304220716.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/zsh_20220304220716.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/zsh_20220304220730.nix b/.history/src/apps/personal/zsh_20220304220730.nix
deleted file mode 100644
index 7962684..0000000
--- a/.history/src/apps/personal/zsh_20220304220730.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-  programs.zsh = {
-    enable = true;
-    oh-my-zsh = {
-       enable = true;
-      plugins = [ "git" ];
-      theme = "crunch";
-    };
-    history = {
-      size = 10000;
-      path = "${config.xdg.dataHome}/zsh/history";
-      expireDuplicatesFirst = true;
-      extended = true;
-    };
-    initExtra = ''
-      bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-      command_not_found_handler ()
-      {
-      #     echo "Command '$1' not found, searching for it in the Nix store..."
-      #     , $@
-          local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-          if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-              "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-             if [ $? = 126 ]; then
-                  "$@";
-              else
-                  return 127;
-              fi;
-          else
-              echo "$1: command not found" 1>&2;
-              return 127;
-          fi
-      }
-    '';
-    enableSyntaxHighlighting = true;
-    enableAutosuggestions = true;
-    autocd = true;
-    dotDir = ".local/share/zsh";
-  };
diff --git a/.history/src/apps/personal/zsh_20220304220732.nix b/.history/src/apps/personal/zsh_20220304220732.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/apps/personal/zsh_20220304220732.nix
+++ /dev/null
diff --git a/.history/src/apps/personal/zsh_20220304220751.nix b/.history/src/apps/personal/zsh_20220304220751.nix
deleted file mode 100644
index e1b2c2e..0000000
--- a/.history/src/apps/personal/zsh_20220304220751.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.vscode.enable = true;
-    programs.vscode.package = pkgs.vscode-fhs;
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220800.nix b/.history/src/apps/personal/zsh_20220304220800.nix
deleted file mode 100644
index b32be67..0000000
--- a/.history/src/apps/personal/zsh_20220304220800.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-  programs.zsh = {
-    enable = true;
-    oh-my-zsh = {
-       enable = true;
-      plugins = [ "git" ];
-      theme = "crunch";
-    };
-    history = {
-      size = 10000;
-      path = "${config.xdg.dataHome}/zsh/history";
-      expireDuplicatesFirst = true;
-      extended = true;
-    };
-    initExtra = ''
-      bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-      command_not_found_handler ()
-      {
-      #     echo "Command '$1' not found, searching for it in the Nix store..."
-      #     , $@
-          local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-          if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-              "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-             if [ $? = 126 ]; then
-                  "$@";
-              else
-                  return 127;
-              fi;
-          else
-              echo "$1: command not found" 1>&2;
-              return 127;
-          fi
-      }
-    '';
-    enableSyntaxHighlighting = true;
-    enableAutosuggestions = true;
-    autocd = true;
-    dotDir = ".local/share/zsh";
-  };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220809.nix b/.history/src/apps/personal/zsh_20220304220809.nix
deleted file mode 100644
index e3d8684..0000000
--- a/.history/src/apps/personal/zsh_20220304220809.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-      enable = true;
-      oh-my-zsh = {
-        enable = true;
-        plugins = [ "git" ];
-        theme = "crunch";
-      };
-      history = {
-        size = 10000;
-        path = "${config.xdg.dataHome}/zsh/history";
-        expireDuplicatesFirst = true;
-        extended = true;
-      };
-      initExtra = ''
-        bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-        command_not_found_handler ()
-        {
-        #     echo "Command '$1' not found, searching for it in the Nix store..."
-        #     , $@
-            local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-            if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-              if [ $? = 126 ]; then
-                    "$@";
-                else
-                    return 127;
-                fi;
-            else
-                echo "$1: command not found" 1>&2;
-                return 127;
-            fi
-        }
-      '';
-      enableSyntaxHighlighting = true;
-      enableAutosuggestions = true;
-      autocd = true;
-      dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220812.nix b/.history/src/apps/personal/zsh_20220304220812.nix
deleted file mode 100644
index 53aeb1d..0000000
--- a/.history/src/apps/personal/zsh_20220304220812.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-          enable = true;
-          plugins = [ "git" ];
-          theme = "crunch";
-        };
-        history = {
-          size = 10000;
-          path = "${config.xdg.dataHome}/zsh/history";
-          expireDuplicatesFirst = true;
-          extended = true;
-        };
-        initExtra = ''
-          bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-          command_not_found_handler ()
-          {
-          #     echo "Command '$1' not found, searching for it in the Nix store..."
-          #     , $@
-              local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-              if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                  "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                if [ $? = 126 ]; then
-                      "$@";
-                  else
-                      return 127;
-                  fi;
-              else
-                  echo "$1: command not found" 1>&2;
-                  return 127;
-              fi
-          }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220820.nix b/.history/src/apps/personal/zsh_20220304220820.nix
deleted file mode 100644
index e33a882..0000000
--- a/.history/src/apps/personal/zsh_20220304220820.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-            enable = true;
-            plugins = [ "git" ];
-            theme = "crunch";
-        };
-        history = {
-          size = 10000;
-          path = "${config.xdg.dataHome}/zsh/history";
-          expireDuplicatesFirst = true;
-          extended = true;
-        };
-        initExtra = ''
-          bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-          command_not_found_handler ()
-          {
-          #     echo "Command '$1' not found, searching for it in the Nix store..."
-          #     , $@
-              local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-              if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                  "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                if [ $? = 126 ]; then
-                      "$@";
-                  else
-                      return 127;
-                  fi;
-              else
-                  echo "$1: command not found" 1>&2;
-                  return 127;
-              fi
-          }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220822.nix b/.history/src/apps/personal/zsh_20220304220822.nix
deleted file mode 100644
index a32bad5..0000000
--- a/.history/src/apps/personal/zsh_20220304220822.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-            enable = true;
-            plugins = [ "git" ];
-            theme = "crunch";
-        };
-        history = {
-            size = 10000;
-            path = "${config.xdg.dataHome}/zsh/history";
-            expireDuplicatesFirst = true;
-            extended = true;
-        };
-        initExtra = ''
-          bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-          command_not_found_handler ()
-          {
-          #     echo "Command '$1' not found, searching for it in the Nix store..."
-          #     , $@
-              local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-              if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                  "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                if [ $? = 126 ]; then
-                      "$@";
-                  else
-                      return 127;
-                  fi;
-              else
-                  echo "$1: command not found" 1>&2;
-                  return 127;
-              fi
-          }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220825.nix b/.history/src/apps/personal/zsh_20220304220825.nix
deleted file mode 100644
index d33b780..0000000
--- a/.history/src/apps/personal/zsh_20220304220825.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-            enable = true;
-            plugins = [ "git" ];
-            theme = "crunch";
-        };
-        history = {
-            size = 10000;
-            path = "${config.xdg.dataHome}/zsh/history";
-            expireDuplicatesFirst = true;
-            extended = true;
-        };
-        initExtra = ''
-            bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-            command_not_found_handler ()
-            {
-            #     echo "Command '$1' not found, searching for it in the Nix store..."
-            #     , $@
-                local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-                if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                    "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                  if [ $? = 126 ]; then
-                        "$@";
-                    else
-                        return 127;
-                    fi;
-                else
-                    echo "$1: command not found" 1>&2;
-                    return 127;
-                fi
-            }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/apps/personal/zsh_20220304220833.nix b/.history/src/apps/personal/zsh_20220304220833.nix
deleted file mode 100644
index 1f1f129..0000000
--- a/.history/src/apps/personal/zsh_20220304220833.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }: {
-    programs.zsh = {
-        enable = true;
-        oh-my-zsh = {
-            enable = true;
-            plugins = [ "git" ];
-            theme = "crunch";
-        };
-        history = {
-            size = 10000;
-            path = "${config.xdg.dataHome}/zsh/history";
-            expireDuplicatesFirst = true;
-            extended = true;
-        };
-        initExtra = ''
-            bindkey "\'\'$\{key[Up]}" up-line-or-search
-
-            command_not_found_handler ()
-            {
-                local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found';
-                if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then
-                    "$p" "$@" 2>&1 | sed -r 's/nix-shell -p (\S+)/nix shell nixpkgs#\1/g' 1>&2;
-                  if [ $? = 126 ]; then
-                        "$@";
-                    else
-                        return 127;
-                    fi;
-                else
-                    echo "$1: command not found" 1>&2;
-                    return 127;
-                fi
-            }
-        '';
-        enableSyntaxHighlighting = true;
-        enableAutosuggestions = true;
-        autocd = true;
-        dotDir = ".local/share/zsh";
-    };
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304120310.nix b/.history/src/common/variables_20220304120310.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/common/variables_20220304120310.nix
+++ /dev/null
diff --git a/.history/src/common/variables_20220304120315.nix b/.history/src/common/variables_20220304120315.nix
deleted file mode 100644
index 077404a..0000000
--- a/.history/src/common/variables_20220304120315.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304120324.nix b/.history/src/common/variables_20220304120324.nix
deleted file mode 100644
index 544b7b4..0000000
--- a/.history/src/common/variables_20220304120324.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304120333.nix b/.history/src/common/variables_20220304120333.nix
deleted file mode 100644
index 9e51f46..0000000
--- a/.history/src/common/variables_20220304120333.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    stateVersion = "21.11";
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304120342.nix b/.history/src/common/variables_20220304120342.nix
deleted file mode 100644
index 9e51f46..0000000
--- a/.history/src/common/variables_20220304120342.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    stateVersion = "21.11";
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304121413.nix b/.history/src/common/variables_20220304121413.nix
deleted file mode 100644
index 9e51f46..0000000
--- a/.history/src/common/variables_20220304121413.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    stateVersion = "21.11";
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304122223.nix b/.history/src/common/variables_20220304122223.nix
deleted file mode 100644
index 97177a7..0000000
--- a/.history/src/common/variables_20220304122223.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    stateVersion = "21.11";
-    username
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304122225.nix b/.history/src/common/variables_20220304122225.nix
deleted file mode 100644
index b06976e..0000000
--- a/.history/src/common/variables_20220304122225.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    stateVersion = "21.11";
-    username = ""
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304122229.nix b/.history/src/common/variables_20220304122229.nix
deleted file mode 100644
index cb4722c..0000000
--- a/.history/src/common/variables_20220304122229.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    stateVersion = "21.11";
-    username = "minion";
-    
-}
\ No newline at end of file
diff --git a/.history/src/common/variables_20220304122244.nix b/.history/src/common/variables_20220304122244.nix
deleted file mode 100644
index 6c486fb..0000000
--- a/.history/src/common/variables_20220304122244.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    stateVersion = "21.11";
-    username = "minion";
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121418.nix b/.history/src/home_20220304121418.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/home_20220304121418.nix
+++ /dev/null
diff --git a/.history/src/home_20220304121443.nix b/.history/src/home_20220304121443.nix
deleted file mode 100644
index 077404a..0000000
--- a/.history/src/home_20220304121443.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121447.nix b/.history/src/home_20220304121447.nix
deleted file mode 100644
index e69de29..0000000
--- a/.history/src/home_20220304121447.nix
+++ /dev/null
diff --git a/.history/src/home_20220304121514.nix b/.history/src/home_20220304121514.nix
deleted file mode 100644
index 7c11132..0000000
--- a/.history/src/home_20220304121514.nix
+++ /dev/null
@@ -1,2 +0,0 @@
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121516.nix b/.history/src/home_20220304121516.nix
deleted file mode 100644
index b8ae73f..0000000
--- a/.history/src/home_20220304121516.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  
-}
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121518.nix b/.history/src/home_20220304121518.nix
deleted file mode 100644
index 0e0dcd2..0000000
--- a/.history/src/home_20220304121518.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121524.nix b/.history/src/home_20220304121524.nix
deleted file mode 100644
index 544b7b4..0000000
--- a/.history/src/home_20220304121524.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121529.nix b/.history/src/home_20220304121529.nix
deleted file mode 100644
index d15edac..0000000
--- a/.history/src/home_20220304121529.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-
-{
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121537.nix b/.history/src/home_20220304121537.nix
deleted file mode 100644
index d6c2b0b..0000000
--- a/.history/src/home_20220304121537.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-let
-    variables = {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121543.nix b/.history/src/home_20220304121543.nix
deleted file mode 100644
index 915dc0f..0000000
--- a/.history/src/home_20220304121543.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = 
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121550.nix b/.history/src/home_20220304121550.nix
deleted file mode 100644
index fd9a049..0000000
--- a/.history/src/home_20220304121550.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = (import ../)
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121552.nix b/.history/src/home_20220304121552.nix
deleted file mode 100644
index 5b64d8a..0000000
--- a/.history/src/home_20220304121552.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = (import ../);
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121554.nix b/.history/src/home_20220304121554.nix
deleted file mode 100644
index 37d8c19..0000000
--- a/.history/src/home_20220304121554.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = (import ../;
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121555.nix b/.history/src/home_20220304121555.nix
deleted file mode 100644
index 14ec50c..0000000
--- a/.history/src/home_20220304121555.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ../;
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121601.nix b/.history/src/home_20220304121601.nix
deleted file mode 100644
index f05fba8..0000000
--- a/.history/src/home_20220304121601.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common.variables.nix;
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121603.nix b/.history/src/home_20220304121603.nix
deleted file mode 100644
index 610489d..0000000
--- a/.history/src/home_20220304121603.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common/variables.nix;
-in {
-
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121605.nix b/.history/src/home_20220304121605.nix
deleted file mode 100644
index f6188ef..0000000
--- a/.history/src/home_20220304121605.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common/variables.nix;
-in {
-    
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121609.nix b/.history/src/home_20220304121609.nix
deleted file mode 100644
index 66d4e05..0000000
--- a/.history/src/home_20220304121609.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121612.nix b/.history/src/home_20220304121612.nix
deleted file mode 100644
index 2e67808..0000000
--- a/.history/src/home_20220304121612.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121850.nix b/.history/src/home_20220304121850.nix
deleted file mode 100644
index 2e67808..0000000
--- a/.history/src/home_20220304121850.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304121931.nix b/.history/src/home_20220304121931.nix
deleted file mode 100644
index 47b9186..0000000
--- a/.history/src/home_20220304121931.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134618.nix b/.history/src/home_20220304134618.nix
deleted file mode 100644
index fc870e9..0000000
--- a/.history/src/home_20220304134618.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134621.nix b/.history/src/home_20220304134621.nix
deleted file mode 100644
index 7d4ab7d..0000000
--- a/.history/src/home_20220304134621.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home {
-        
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134732.nix b/.history/src/home_20220304134732.nix
deleted file mode 100644
index b0244a8..0000000
--- a/.history/src/home_20220304134732.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home {
-        packages = with pkgs; [
-            
-        ]
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134734.nix b/.history/src/home_20220304134734.nix
deleted file mode 100644
index e6940f0..0000000
--- a/.history/src/home_20220304134734.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home {
-        packages = with pkgs; [
-
-        ];
-
-        
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134743.nix b/.history/src/home_20220304134743.nix
deleted file mode 100644
index edb1b21..0000000
--- a/.history/src/home_20220304134743.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home {
-        packages = with pkgs; [
-
-        ];
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134751.nix b/.history/src/home_20220304134751.nix
deleted file mode 100644
index d2a2a5c..0000000
--- a/.history/src/home_20220304134751.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home.packages = with pkgs; [
-
-        ];
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134753.nix b/.history/src/home_20220304134753.nix
deleted file mode 100644
index 8a69459..0000000
--- a/.history/src/home_20220304134753.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home.packages = with pkgs; [
-        ];
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134754.nix b/.history/src/home_20220304134754.nix
deleted file mode 100644
index 05ffa50..0000000
--- a/.history/src/home_20220304134754.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home.packages = with pkgs; [
-    ];
-    }
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134756.nix b/.history/src/home_20220304134756.nix
deleted file mode 100644
index 6f20120..0000000
--- a/.history/src/home_20220304134756.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    stateVersion = variables.stateVersion;
-
-    home.packages = with pkgs; [
-    ];
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134759.nix b/.history/src/home_20220304134759.nix
deleted file mode 100644
index 14f4b81..0000000
--- a/.history/src/home_20220304134759.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    home.stateVersion = variables.stateVersion;
-
-    home.packages = with pkgs; [
-    ];
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134816.nix b/.history/src/home_20220304134816.nix
deleted file mode 100644
index cc443d5..0000000
--- a/.history/src/home_20220304134816.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-    ];
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134820.nix b/.history/src/home_20220304134820.nix
deleted file mode 100644
index b210b9a..0000000
--- a/.history/src/home_20220304134820.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-        
-    ];
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134843.nix b/.history/src/home_20220304134843.nix
deleted file mode 100644
index 5a29a60..0000000
--- a/.history/src/home_20220304134843.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration; other packages should go in
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134848.nix b/.history/src/home_20220304134848.nix
deleted file mode 100644
index fe46b7e..0000000
--- a/.history/src/home_20220304134848.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration; 
-    other packages should go in
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134850.nix b/.history/src/home_20220304134850.nix
deleted file mode 100644
index 3d34464..0000000
--- a/.history/src/home_20220304134850.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration; 
-    # other packages should go in
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134853.nix b/.history/src/home_20220304134853.nix
deleted file mode 100644
index 93746b3..0000000
--- a/.history/src/home_20220304134853.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134856.nix b/.history/src/home_20220304134856.nix
deleted file mode 100644
index bb6e85d..0000000
--- a/.history/src/home_20220304134856.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in 
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134902.nix b/.history/src/home_20220304134902.nix
deleted file mode 100644
index ecb9f83..0000000
--- a/.history/src/home_20220304134902.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in packages/ or 
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134908.nix b/.history/src/home_20220304134908.nix
deleted file mode 100644
index 6d16898..0000000
--- a/.history/src/home_20220304134908.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in apps/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304134917.nix b/.history/src/home_20220304134917.nix
deleted file mode 100644
index 84de6d1..0000000
--- a/.history/src/home_20220304134917.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304201822.nix b/.history/src/home_20220304201822.nix
deleted file mode 100644
index 91664c1..0000000
--- a/.history/src/home_20220304201822.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211723.nix b/.history/src/home_20220304211723.nix
deleted file mode 100644
index 9f1d7d9..0000000
--- a/.history/src/home_20220304211723.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-      nixpkgs.overlays = [ 
-    (import ./overlays/anytype.nix)
-    (import ./overlays/mindustry.nix)
-    (import ./overlays/nur.nix)
-  ];
-
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211724.nix b/.history/src/home_20220304211724.nix
deleted file mode 100644
index 9b3c30c..0000000
--- a/.history/src/home_20220304211724.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-      nixpkgs.overlays = [ 
-    (import ./overlays/anytype.nix)
-    (import ./overlays/mindustry.nix)
-    (import ./overlays/nur.nix)
-  ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211725.nix b/.history/src/home_20220304211725.nix
deleted file mode 100644
index 4c68e78..0000000
--- a/.history/src/home_20220304211725.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-      nixpkgs.overlays = [ 
-    (import ./overlays/anytype.nix)
-    (import ./overlays/mindustry.nix)
-    (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211727.nix b/.history/src/home_20220304211727.nix
deleted file mode 100644
index 54c4d6b..0000000
--- a/.history/src/home_20220304211727.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-      nixpkgs.overlays = [ 
-    (import ./overlays/anytype.nix)
-    (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211728.nix b/.history/src/home_20220304211728.nix
deleted file mode 100644
index ecf15ef..0000000
--- a/.history/src/home_20220304211728.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-      nixpkgs.overlays = [ 
-    (import ./overlays/anytype.nix)
-        (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211730.nix b/.history/src/home_20220304211730.nix
deleted file mode 100644
index a23ebb4..0000000
--- a/.history/src/home_20220304211730.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-      nixpkgs.overlays = [ 
-        (import ./overlays/anytype.nix)
-        (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211733.nix b/.history/src/home_20220304211733.nix
deleted file mode 100644
index 59fb825..0000000
--- a/.history/src/home_20220304211733.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-      
-    nixpkgs.overlays = [ 
-        (import ./overlays/anytype.nix)
-        (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211736.nix b/.history/src/home_20220304211736.nix
deleted file mode 100644
index fcba5bf..0000000
--- a/.history/src/home_20220304211736.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [ 
-        (import ./overlays/anytype.nix)
-        (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211738.nix b/.history/src/home_20220304211738.nix
deleted file mode 100644
index dd5d886..0000000
--- a/.history/src/home_20220304211738.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-        (import ./overlays/mindustry.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211744.nix b/.history/src/home_20220304211744.nix
deleted file mode 100644
index 5d602f7..0000000
--- a/.history/src/home_20220304211744.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-        (import ./overlays/nur.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211746.nix b/.history/src/home_20220304211746.nix
deleted file mode 100644
index ea4a632..0000000
--- a/.history/src/home_20220304211746.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211753.nix b/.history/src/home_20220304211753.nix
deleted file mode 100644
index a24b99c..0000000
--- a/.history/src/home_20220304211753.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anyty
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211755.nix b/.history/src/home_20220304211755.nix
deleted file mode 100644
index abffb5b..0000000
--- a/.history/src/home_20220304211755.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211835.nix b/.history/src/home_20220304211835.nix
deleted file mode 100644
index 55c54d0..0000000
--- a/.history/src/home_20220304211835.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-            steam-tui steam-run
-    minecraft
-    git-crypt gnupg pinentry_qt
-    spotify
-    keepassxc
-    grim slurp
-    neovim helix
-    qemu
-    bind
-    file
-    nur.repos.kira-bruneau.rofi-wayland
-    rofimoji
-    anytype-latest
-    htop
-    hue-cli
-    comma
-    zip
-    mindustry-alpha-wayland
-    nodejs-17_x
-    element
-    tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211840.nix b/.history/src/home_20220304211840.nix
deleted file mode 100644
index 7d2b3b0..0000000
--- a/.history/src/home_20220304211840.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-            steam-tui steam-run
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211841.nix b/.history/src/home_20220304211841.nix
deleted file mode 100644
index 97159b3..0000000
--- a/.history/src/home_20220304211841.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        steam-tui steam-run
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211846.nix b/.history/src/home_20220304211846.nix
deleted file mode 100644
index cd592da..0000000
--- a/.history/src/home_20220304211846.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        steam-tui steam-run
-        
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304211849.nix b/.history/src/home_20220304211849.nix
deleted file mode 100644
index f23ca99..0000000
--- a/.history/src/home_20220304211849.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        steam-run
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212512.nix b/.history/src/home_20220304212512.nix
deleted file mode 100644
index 7f2331a..0000000
--- a/.history/src/home_20220304212512.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212544.nix b/.history/src/home_20220304212544.nix
deleted file mode 100644
index 96f8efc..0000000
--- a/.history/src/home_20220304212544.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212550.nix b/.history/src/home_20220304212550.nix
deleted file mode 100644
index df41603..0000000
--- a/.history/src/home_20220304212550.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212602.nix b/.history/src/home_20220304212602.nix
deleted file mode 100644
index 31e0d3b..0000000
--- a/.history/src/home_20220304212602.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212607.nix b/.history/src/home_20220304212607.nix
deleted file mode 100644
index 01a8e2f..0000000
--- a/.history/src/home_20220304212607.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-        
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212614.nix b/.history/src/home_20220304212614.nix
deleted file mode 100644
index d136d5a..0000000
--- a/.history/src/home_20220304212614.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212621.nix b/.history/src/home_20220304212621.nix
deleted file mode 100644
index 5f248fb..0000000
--- a/.history/src/home_20220304212621.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps 
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212623.nix b/.history/src/home_20220304212623.nix
deleted file mode 100644
index a0f9b6e..0000000
--- a/.history/src/home_20220304212623.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps sho
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212625.nix b/.history/src/home_20220304212625.nix
deleted file mode 100644
index 5742fd2..0000000
--- a/.history/src/home_20220304212625.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new 
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212627.nix b/.history/src/home_20220304212627.nix
deleted file mode 100644
index eadce0d..0000000
--- a/.history/src/home_20220304212627.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        spotify
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304212808.nix b/.history/src/home_20220304212808.nix
deleted file mode 100644
index cd8f326..0000000
--- a/.history/src/home_20220304212808.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        nodejs-17_x
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304214359.nix b/.history/src/home_20220304214359.nix
deleted file mode 100644
index af95188..0000000
--- a/.history/src/home_20220304214359.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304214907.nix b/.history/src/home_20220304214907.nix
deleted file mode 100644
index 92bb513..0000000
--- a/.history/src/home_20220304214907.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215030.nix b/.history/src/home_20220304215030.nix
deleted file mode 100644
index 75df351..0000000
--- a/.history/src/home_20220304215030.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-
-      generatedPkgs =
-    let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215035.nix b/.history/src/home_20220304215035.nix
deleted file mode 100644
index afbdd68..0000000
--- a/.history/src/home_20220304215035.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-      
-       =
-    let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215041.nix b/.history/src/home_20220304215041.nix
deleted file mode 100644
index 7af92e1..0000000
--- a/.history/src/home_20220304215041.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    
-    =
-    let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215045.nix b/.history/src/home_20220304215045.nix
deleted file mode 100644
index e9cfb76..0000000
--- a/.history/src/home_20220304215045.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages =
-    let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215046.nix b/.history/src/home_20220304215046.nix
deleted file mode 100644
index e9cfb76..0000000
--- a/.history/src/home_20220304215046.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages =
-    let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215053.nix b/.history/src/home_20220304215053.nix
deleted file mode 100644
index 00e26e8..0000000
--- a/.history/src/home_20220304215053.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-   in
-   { imports = generatedPkgs; }
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215100.nix b/.history/src/home_20220304215100.nix
deleted file mode 100644
index 9a1f87f..0000000
--- a/.history/src/home_20220304215100.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215101.nix b/.history/src/home_20220304215101.nix
deleted file mode 100644
index 6843da4..0000000
--- a/.history/src/home_20220304215101.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in
-       pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215105.nix b/.history/src/home_20220304215105.nix
deleted file mode 100644
index b9643f0..0000000
--- a/.history/src/home_20220304215105.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-       };
-     in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215108.nix b/.history/src/home_20220304215108.nix
deleted file mode 100644
index cc58aa4..0000000
--- a/.history/src/home_20220304215108.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-      };
-     in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215111.nix b/.history/src/home_20220304215111.nix
deleted file mode 100644
index 96a0baf..0000000
--- a/.history/src/home_20220304215111.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = [
-        ./apps/personal/steam.nix
-
-    ];
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215121.nix b/.history/src/home_20220304215121.nix
deleted file mode 100644
index 16cff61..0000000
--- a/.history/src/home_20220304215121.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/pkgConfigs/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215148.nix b/.history/src/home_20220304215148.nix
deleted file mode 100644
index d1c60b3..0000000
--- a/.history/src/home_20220304215148.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215205.nix b/.history/src/home_20220304215205.nix
deleted file mode 100644
index 2122437..0000000
--- a/.history/src/home_20220304215205.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import "/apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215206.nix b/.history/src/home_20220304215206.nix
deleted file mode 100644
index 5647b85..0000000
--- a/.history/src/home_20220304215206.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import "./apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215209.nix b/.history/src/home_20220304215209.nix
deleted file mode 100644
index 457576a..0000000
--- a/.history/src/home_20220304215209.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import "./apps/personal/${file}";
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215222.nix b/.history/src/home_20220304215222.nix
deleted file mode 100644
index d1c60b3..0000000
--- a/.history/src/home_20220304215222.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/pkgConfigs"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215228.nix b/.history/src/home_20220304215228.nix
deleted file mode 100644
index 873ebc0..0000000
--- a/.history/src/home_20220304215228.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = import (./. + "/apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/apps/personal/"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215304.nix b/.history/src/home_20220304215304.nix
deleted file mode 100644
index ab1dd41..0000000
--- a/.history/src/home_20220304215304.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = "./apps/personal/${file}") { };
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/apps/personal/"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304215306.nix b/.history/src/home_20220304215306.nix
deleted file mode 100644
index 9213cad..0000000
--- a/.history/src/home_20220304215306.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = "./apps/personal/${file}";
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/apps/personal/"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg pinentry_qt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304220624.nix b/.history/src/home_20220304220624.nix
deleted file mode 100644
index 3054ad1..0000000
--- a/.history/src/home_20220304220624.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = "./apps/personal/${file}";
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/apps/personal/"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt gnupg 
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/.history/src/home_20220304220627.nix b/.history/src/home_20220304220627.nix
deleted file mode 100644
index ef97145..0000000
--- a/.history/src/home_20220304220627.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, nixpkgs }:
-let
-    variables = import ./common/variables.nix;
-    personalPackages = let
-      toPkg = file: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-        value = "./apps/personal/${file}";
-      };
-    in pkgs.lib.mapAttrs' toPkg (builtins.readDir (./. + "/apps/personal/"));
-in {
-    import = personalPackages;
-
-    nixpkgs.overlays = [
-        (import ./overlays/anytype.nix)
-    ];
-
-    home.packages = with pkgs; [  # New apps should be on new lines
-        anytype
-        minecraft
-        nodejs-17_x
-
-        git-crypt
-        keepassxc
-        grim slurp
-        neovim helix
-        qemu
-        bind
-        file
-        nur.repos.kira-bruneau.rofi-wayland
-        rofimoji
-        anytype-latest
-        htop
-        hue-cli
-        comma
-        zip
-        mindustry-alpha-wayland
-        element
-        tdesktop
-    ];  # Use *only* for packages that need no configuration;
-    # other packages should go in ./apps/personal/
-
-    home.stateVersion = variables.stateVersion;
-}
\ No newline at end of file
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..b9263a8
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,61 @@
+{
+  "nodes": {
+    "home-manager": {
+      "inputs": {
+        "nixpkgs": "nixpkgs"
+      },
+      "locked": {
+        "lastModified": 1643933536,
+        "narHash": "sha256-yRmsWAG4DnLxLIUtlaZsl0kH7rN5xSoyNRlf0YZrcH4=",
+        "owner": "nix-community",
+        "repo": "home-manager",
+        "rev": "2860d7e3bb350f18f7477858f3513f9798896831",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "ref": "release-21.11",
+        "repo": "home-manager",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1646331602,
+        "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6",
+        "type": "github"
+      },
+      "original": {
+        "id": "nixpkgs",
+        "type": "indirect"
+      }
+    },
+    "nixpkgs_2": {
+      "locked": {
+        "lastModified": 1646258393,
+        "narHash": "sha256-mKDoCi5Baqainjf0Nx6oTPhaxKQdj4P17XTdhTtXGRA=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "ed02c2ba0384b2800db41333045a6fb781f12aac",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "nixos-21.11",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "home-manager": "home-manager",
+        "nixpkgs": "nixpkgs_2"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
index 9979f98..b716054 100644
--- a/flake.nix
+++ b/flake.nix
@@ -28,7 +28,7 @@
             };
         };
 
-        homeManagerConfiguration = {
+        homeManagerConfigurations = {
             minion = home-manager.lib.homeManagerConfiguration rec {
                 inherit system pkgs;
 
diff --git a/scripts/rebuild-home.sh b/scripts/rebuild-home.sh
new file mode 100755
index 0000000..94835af
--- /dev/null
+++ b/scripts/rebuild-home.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cd "$(dirname ${BASH_SOURCE[0]})/.."
+
+if [[ $(git diff --stat) != '' ]]; then
+    read -ep "What did you change?: " changes
+    /bin/env git commit -am "$changes"
+fi
+
+nix build .#homeManagerConfigurations.minion.activationPackage $1 --impure
+./result/activate
+unlink ./result
\ No newline at end of file
diff --git a/src/apps/personal/comma.nix b/src/apps/personal/comma.nix
new file mode 100644
index 0000000..7a8fa47
--- /dev/null
+++ b/src/apps/personal/comma.nix
@@ -0,0 +1,11 @@
+{ config, pkgs, nixpkgs, ... }:
+let
+    comma = import ( pkgs.fetchFromGitHub {
+        owner = "nix-community";
+        repo = "comma";
+        rev = "02e3e5545b0c62595a77f3d5de1223c536af0614";
+        sha256 = "sha256-WBIQmwlkb/GMoOq+Dnyrk8YmgiM/wJnc5HYZP8Uw72E=";
+    }) {};
+in {
+    home.packages = [ comma ];
+}
\ No newline at end of file
