Move to new module system, allows for multiple computers

Change-Id: I9a76346b05dfff6157813c50f89d1254130fc26c
diff --git a/modules/common/shell.nix b/modules/common/shell.nix
new file mode 100644
index 0000000..1bf1ba6
--- /dev/null
+++ b/modules/common/shell.nix
@@ -0,0 +1,60 @@
+{ pkgs, config, inputs, ... }: {
+  programs.zsh.enable = true;
+  users.users.coded.shell = pkgs.zsh;
+
+  home-manager.users.coded.home.packages = with pkgs; [
+    bmon
+    wget
+    ripgrep
+    guake
+  ];
+
+  home-manager.users.coded.programs = {
+    # ZSH
+    zsh = {
+      enable = true;
+      enableAutosuggestions = true;
+      enableCompletion = true;
+      autocd = true;
+      defaultKeymap = "emacs";
+
+      shellAliases = {
+        rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
+        "gr!" = "git review";
+        clr = "clear";
+        nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
+        edit = "nvim";
+        neovim = "nvim";
+        v = "nvim";
+      };
+
+      dirHashes = { code = "$HOME/Documents/programming"; };
+
+      history = { extended = true; };
+      historySubstringSearch.enable = true;
+
+      oh-my-zsh = {
+        enable = true;
+        plugins = [ "git" ];
+      };
+    };
+    
+    # Starship
+    starship = {
+      enable = true;
+      settings = { format = "$all"; };
+    };
+
+    # Nix-index
+    nix-index.enable = true;
+
+    # thefuck
+    thefuck = {
+      enable = true;
+      enableInstantMode = true;
+    };
+  };
+
+  environment.pathsToLink =
+    [ "/share/zsh" ]; # needed for completing system packages
+}