diff --git a/.history/src/home_20220304215205.nix b/.history/src/home_20220304215205.nix
new file mode 100644
index 0000000..2122437
--- /dev/null
+++ b/.history/src/home_20220304215205.nix
@@ -0,0 +1,43 @@
+{ 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
